下文來為各位介紹PHP設(shè)置session定期自動(dòng)清理的例子了,因?yàn)閟ession默認(rèn)是15分鐘自動(dòng)把變量給清除內(nèi)存了,但有一些時(shí)間并不生效了,下面我們就來看看。
配置完成php后默認(rèn)php會(huì)將session生成到/tmp目錄下,導(dǎo)致/tmp目錄文件很多,因此需要對(duì)session進(jìn)行定期的清理。
修改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
定時(shí)任務(wù):
[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
備注:因?yàn)榇伺渲眯薷牧藀hp.ini因此需要重新啟動(dòng)php進(jìn)程。
以上就是本文的全部?jī)?nèi)容,教大家如何實(shí)現(xiàn)php設(shè)置session定期自動(dòng)清理,希望大家從中有所收獲。
新聞熱點(diǎn)
疑難解答
圖片精選