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

yipeiwu_com5年前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定期自动清理,希望大家从中有所收获。

相关文章

php实现希尔排序算法的方法分析

本文实例讲述了php实现希尔排序算法的方法。分享给大家供大家参考,具体如下: 虽然现在各种程序语言都有其各自强大的排序库函数,但是这些底层实现也都是利用这些基础或高级的排序算法。 理解这...

详解PHP防止直接访问.php 文件的实现方法

详解PHP防止直接访问.php 文件的实现方法

详解PHP防止直接访问.php 文件的实现方法 为了保证我们用 PHP 写的 API 的安全性要禁止除了接口外的访问方式. 比如我们的项目为 example, 其下有文件夹 dir1、有...

PHP 调试工具Debug Tools

PHP 调试工具Debug Tools

发现了个调试PHP源码的好同志: PHP DEBUG TOOLS 其项目地址: http://freshmeat.net/projects/php-debug-tools/ 文件下载地址...

PHP加密解密函数详解

分享一个PHP加密解密的函数,此函数实现了对部分变量值的加密的功能。 加密代码如下: /* *功能:对字符串进行加密处理 *参数一:需要加密的内容 *参数二:密钥 */...

PHP给源代码加密的几种方法汇总(推荐)

虽说分享是传统的美德,但我们有时候辛辛苦苦写一些程序只是为了卖点小钱,挣点辛苦费,也防止有些没有道德的人倒卖,所以我们不得不对我们的程序进行加密,以下我们来介绍一下如何通过PHP的自定义...