php session实现多级目录存放实现代码
当一个目录下有很多文件时,服务器的处理性能会变低,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文件,可以辅助生成目录,就不用自己在写脚本了 if test "$2" = ""; then
echo "usage: $0 basedir depth" exit 1 fi if test "$2" = "0"; then hash_chars="0 1 2 3 4 5 6 7 8 9 a b c d e f" for i in $hash_chars; do 设置为可执行之后,运行以下命令来创建哈希目录: #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的帐号有权限读写 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |