php session实现多级目录存放实现代码_php技巧
May 16, 2016 pm 07:59 PM当一个目录下有很多文件时,服务器的处理性能会变低,php默认的session仅仅存放在/tmp目录下,未进行分级,当有一定的访问量时,就存在性能问题了。
首先,修改 php.ini的 session.save_path 选项修改如下:
session.save_path = “2;/tmp/session” (去掉前面分号)
表示把session存放在 “/tmp/session” 目录下,并且分成 2 级子目录
一般情况下2级目录就够了,就能够处理相当大的访问量了
———————–
其他注释
session.hash_function = 0
; 生成SID的散列算法。SHA-1的安全性更高一些
; 0: MD5 (128 bits)
; 1: SHA-1 (160 bits)
; 建议使用SHA-1。
session.hash_bits_per_character = 4
; 指定在SID字符串中的每个字符内保存多少bit,
; 这些二进制数是hash函数的运算结果。
; 4: 0-9, a-f
; 5: 0-9, a-v
; 6: 0-9, a-z, A-Z, “-“, “,”
; 建议值为 5
————————–
php源码文件中ext/session/mod_files.sh文件,可以辅助生成目录,就不用自己在写脚本了
#! /bin/sh if test "$2" = ""; then echo "usage: $0 basedir depth" exit 1 fi if test "$2" = "0"; then exit 0 fi hash_chars="0 1 2 3 4 5 6 7 8 9 a b c d e f" if test "$3" -a "$3" -ge "5"; then hash_chars="$hash_chars g h i j k l m n o p q r s t u v" if test "$3" -eq "6"; then hash_chars="$hash_chars w x y z A B C D E F G H I J K L M N O P Q R S T U V W X Y Z - ," fi fi for i in $hash_chars; do newpath="$1/$i" mkdir $newpath || exit 1 sh $0 $newpath `expr $2 - 1` $3 done
设置为可执行之后,运行以下命令来创建哈希目录:
#cd /root/soft_install/php-5.3.5/ext/session
#./mod_files.sh /tmp/session 2 5
三个参数依次表示,存放路径, 几级目录,每个目录生成多少个目录(参考session.hash_bits_per_character)
另外需要注意修改 /tmp/session的权限,保证运行php的帐号有权限读写

Heißer Artikel

Hot-Tools-Tags

Heißer Artikel

Heiße Artikel -Tags

Notepad++7.3.1
Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version
Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1
Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6
Visuelle Webentwicklungstools

SublimeText3 Mac-Version
Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Heiße Themen

So legen Sie das Sitzungszeitlimit in der SpringBoot-Sitzung fest

Lösung für das domänenübergreifende Problem der PHP-Sitzung

Was ist die Standardablaufzeit von Session PHP?

Was soll ich tun, wenn die PHP-Sitzung nach der Aktualisierung verschwindet?

Wie erstelle ich mehrstufige Verzeichnisse mit der Methode File.mkdirs() in Java?

So lesen und schreiben Sie Sitzungsdaten in mehreren Dateien mit PHP korrekt

So implementieren Sie die SMS-Anmeldung in der Redis-Anwendung für gemeinsam genutzte Sitzungen
