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

前端技术 2023/09/04 PHP

下文来为各位介绍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

转载请注明出处。

本站部分内容来源于网络,如侵犯到您的权益,请 联系我

我的博客

人生若只如初见,何事秋风悲画扇。