這篇文章主要介紹了php中session定期自動清理的方法,如何設(shè)置php實現(xiàn)session定期自動清理,本文會給大家詳細介紹,需要的朋友可以參考下
下文來為各位介紹PHP設(shè)置session定期自動清理的例子了,因為session默認是15分鐘自動把變量給清除內(nèi)存了,但有一些時間并不生效了,下面我們就來看看。
配置完成php后默認php會將session生成到/tmp目錄下,導(dǎo)致/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
- 定時任務(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
備注:因為此配置修改了php.ini因此需要重新啟動php進程。
以上就是本文的全部內(nèi)容,教大家如何實現(xiàn)php設(shè)置session定期自動清理,希望大家從中有所收獲。
新聞熱點
疑難解答