PHP Session文件的散列存储及过期删除

来源:互联网 发布:联网监控软件 编辑:程序博客网 时间:2024/05/18 01:45

因为服务器访问量大,产生了大量的session文件,若这些文件默认都保存在/tmp目录下,会造成服务器性能问题,所以需要把session文件散列存储。

session_save_path(“2;0666;/var/www/html/session”);

php并不会自动创建这些目录,所以我写了个shell脚本来创建这些目录:

#! /bin/shsubdir="session"depth="2"hash_chars="0 1 2 3 4 5 6 7 8 9 a b c d e f"makedir(){if test "$2" = "0"; thenreturnfifor i in $hash_chars; donewpath="$1/$i"mkdir $newpath || exit 1echo "mkdir $newpath"makedir $newpath `expr $2 - 1`done}mkdir sessionmakedir $subdir $depth;

开头的3个变量可以自己根据需要设置

虽然php中有配置自动清理session,但在这种多级目录存储的情况下并不会生效,所以我们要自己写个脚本清理session文件,脚本内容如下:

find /var/www/html/session -mtime +1 -exec rm -rf {} \;

放入cron中,定期执行。

0 0
原创粉丝点击