Heim >Backend-Entwicklung >PHP-Tutorial >php中session定期自动清理的方法_PHP

php中session定期自动清理的方法_PHP

WBOY
WBOYOriginal
2016-05-28 13:13:331263Durchsuche

下文来为各位介绍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定期自动清理,希望大家从中有所收获。

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn