Linux下php的session实现多级目录存放
2015-01-23 10:38
357 查看
当一个目录下有很多文件时,服务器的处理性能会变低,php默认的session仅仅存放在/tmp目录下,未进行分级,当有一定的访问量时,就存在性能问题了。
首先,修改 php.ini的 session.save_path 选项修改如下:
session.save_path = "2;/tmp/phpsession" (去掉前面分号)
表示把session存放在 "/tmp/phpsession" 目录下,并且分成 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文件,可以辅助生成目录,就不用自己在写脚本了
设置为可执行之后,运行以下命令来创建哈希目录:
#cd /root/soft_install/php-5.3.5/ext/session
#./mod_files.sh /tmp/phpsession 2 5
三个参数依次表示,存放路径, 几级目录,每个目录生成多少个目录(参考session.hash_bits_per_character)
另外需要注意修改 /tmp/phpsession的权限,保证运行php的帐号有权限读写
首先,修改 php.ini的 session.save_path 选项修改如下:
session.save_path = "2;/tmp/phpsession" (去掉前面分号)
表示把session存放在 "/tmp/phpsession" 目录下,并且分成 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文件,可以辅助生成目录,就不用自己在写脚本了
<span style="font-family:Microsoft YaHei;font-size:14px;">#! /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</span>
设置为可执行之后,运行以下命令来创建哈希目录:
#cd /root/soft_install/php-5.3.5/ext/session
#./mod_files.sh /tmp/phpsession 2 5
三个参数依次表示,存放路径, 几级目录,每个目录生成多少个目录(参考session.hash_bits_per_character)
另外需要注意修改 /tmp/phpsession的权限,保证运行php的帐号有权限读写
相关文章推荐
- php session实现多级目录存放实现代码
- php多级目录实现session 3:写入文件
- 【转】实现新建多级目录(树形)linux-c语言
- linux下,如何迁移mysql数据库存放目录。利用软连接简单快捷实现移动到home数据盘下
- php中设置多级目录session的问题
- php session实现多级目录存放实现代码
- Python 实现根据不同的程序运行环境存放日志目录,Python实现Linux和windows系统日志的存放
- php中设置多级目录session的问题
- php性能优化之设置php session多级目录(原文http://www.bewyn.com/archives/44)
- php设置多级目录session的问题
- php中设置多级目录session的问题
- linux c 创建多级目录接口实现
- PHP实现多服务器session共享之NFS共享的方法
- PHP实现多服务器session共享之NFS共享
- PHP实现多服务器session共享之NFS共享的方法
- 用PHP实现多服务器共享SESSION数据的方法
- 在PHP3中实现SESSION的功能(二)
- 基于Linux操作系统的目录服务的实现
- 在PHP3中实现SESSION的功能(一)