下文来为各位介绍PHP设置session定期自动清理的例子了,因为session默认是15分钟自动把变量给清除内存了,但有一些时间并不生效了,下面我们就来看看。
配置完成php后默认php会将session生成到/tmp目录下,导致/tmp目录文件很多,因此需要对session进行定期的清理。
修改php.ini:
[root@hz scripts]# grep \"session.save_path = \" /usr/local/php/lib/php.ini
; session.save_path = \"N;/path\"
; session.save_path = \"N;MODE;/path\"
;session.save_path = \"/tmp\"
session.save_path = \"2;/tmp/session\"
[root@hz ~]# cat /byrd/script/Cleartmpsen.sh
#!/bin/bash
# Version:1.0
# Author:Byrd
# Site:www.t4x.org
# Contact:root#t4x.org
# This is script will clear php session before 3 hours.
i=\"0 1 2 3 4 5 6 7 8 9 a b c d e f\"
for byrd in $i;
do
for x in $i;
do
mkdir -p /tmp/session/$byrd/$x;
done;
done
chown -R bywww:bywww /tmp/session
chmod -R 1777 /tmp/session
find /tmp/session -amin +180 -exec rm -rf {} \;
if [ `grep \'session.save_path =\' /usr/local/php/lib/php.ini | wc -l` -eq 3 ];then
sed -i \'s#;session.save_path = \"/tmp\"#;session.save_path = \"/tmp\"\nsession.save_path = \"2;/tmp/session\"#g\' /usr/local/php/lib/php.ini
else
exit 1
fi
定时任务:
[root@hz scripts]# echo \'#This is a config php session BY:BYRD AT:2015-11-12\' >>/var/spool/cron/root
[root@hz scripts]# echo \'0 3 * * 0 /bin/bash /byrd/scripts/spehspsion.sh >/dev/null 2>&1\' >>/var/spool/cron/root
备注:因为此配置修改了php.ini因此需要重新启动php进程。
以上就是本文的全部内容,教大家如何实现php设置session定期自动清理,希望大家从中有所收获。
本文地址:https://www.stayed.cn/item/11744
转载请注明出处。
本站部分内容来源于网络,如侵犯到您的权益,请 联系我