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

5年以前  |  阅读数:1021 次  |  编程语言: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分页显示制作详细讲解
SSH 登录失败:Host key verification failed
获取IMSI
将二进制数据转为16进制以便显示
获取IMEI
文件下载
贪吃蛇
双位运算符
PHP自定义函数获取搜索引擎来源关键字的方法
Java生成UUID
发送邮件
年的日历图
提取后缀名
在Zeus Web Server中安装PHP语言支持
让你成为最历害的git提交人
Yii2汉字转拼音类的实例代码
再谈PHP中单双引号的区别详解
指定应用ID以获取对应的应用名称
Python 2与Python 3版本和编码的对比
php封装的page分页类完整实例