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

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

(0)

相关推荐

  • PHP命名空间和自动加载类

    PHP的命名空间(namespace)是php5.3之后才有的.这个概念在C#中已经很早就有了,php中的namespace其实和c#的概念是一样的. 为什么php中要使用namespace? 假设如果不使用namespace,那么每个类在一个项目中的名字就必须是固定的.因为php在new的时候不管是调用autoload还是调用已加载过的类,都存在一个类名对应的文件.所以在没有namespace的时候,我们会想各种命名规则来区分不同的类,比如project1_school1_class1_Stu

  • php自动加载方式集合

    php加载文件方式: 1.include,include_once,requice,requice_one常规加载 2.__autoload() 3.spl_autoload_register() 常规加载方式 假设我们有一个类文件A.php,里面定义了一个名字为A的类: <?php class A { public function __construct() { echo 'Got it.'; } } 然后我们有一个index.php需要用到这个类A,常规的写法就是 <?php requi

  • 解析crontab php自动运行的方法

    crontab是linux自带的一个命令  使php自动运行的方法php自动运行有很多方法,这里分以下DZ以及一些通过系统完成的方法和直接触发运行驻留系统的方法.Discuz后台有个计划任务,可以使php自动运行.DZ计划任务的机制是这样:1.首先在到了触发计划任务的时间,有访问(会员,游客,搜索引擎的蜘蛛)然后触发该计划任务发生.(因为PHP是触发是语言,没有人去访问他,他什么也做不了.)2. 计划任务执行.3. 执行成功,返回执行成功的信息,更新到数据库中记录当前执行的时间,下一次需要执行的

  • Windows中使用计划任务自动执行PHP程序实例

    所谓任务计划就是由计算机自动调用用户事先设置好的应用程序,从而达到简化用户操作的目的.利用Windows 2000的任务计划程序(相当与*NIX下的cron程序,这里不再对其详述),我们可以安排任何脚本.程序或文档在最恰当的时候运行,从而满足自己的需要.下面以Windows 2000为例. 具体来说,我们若需利用任务计划程序自动运行则应执行如下步骤: 单击"开始"按钮,然后依次选择"程序"→"附件"→"系统工具"→"

  • PHP定时执行计划任务的多种方法小结

    PHP定时执行的三种方式实现 1.windows 的计划任务 2.linux的脚本程序 3.让web浏览器定时刷新 具体实现 windows计划任务 PHP很少在win服务器上跑,具体实现也不再深究,看网上实现的原理大概是写bat脚本,然后让window任务添加执行这个bat脚本,具体可以参考:http://www.jb51.net/article/29134.htm linux 的脚本实现 这里主要使用到crontab这个命令, 使用方式 : crontab filecrontab [ -u

  • 关于PHP文件的自动运行方法分析

    本文实例分析了PHP文件的自动运行方法.分享给大家供大家参考,具体如下: 这里分析两种方法: 第一种方法: a.php文件内容 如下: <?php ini_set("error_log", "c:\php\php_error.log"); error_log("a.php is execute----------",0); ignore_user_abort(); // 后台无阻断运行 set_time_limit(0); // 一直给我运

  • php定时计划任务的实现方法详解

    我在uchome 中 分析到, uchome是这样做的1. 把所有的计划任务存放到数据库2. 每次用户进行操作或打开页面的时候都按排序执行一条计划任务. 也就是轮番判断,时间到了的, 就在用户进程中执行.uchome的计划任务代码在 ./source/function_cron.php上面只自己分析uchome代码关于计划任务大概的结果, 抛砖引玉. 希望谁有好的方法拿出来共享.ignore_user_abort()我前一段时间彻底研究过计划任务,认为计划任务的思路很多,但最适合Web的还是触发

  • 如何使用Linux的Crontab定时执行PHP脚本的方法

    下面介绍Crontab的两种方法. 一.在Crontab中使用PHP执行脚本 就像在Crontab中调用普通的shell脚本一样(具体Crontab用法),使用PHP程序来调用PHP脚本. 每一小时执行myscript.php如下: 复制代码 代码如下: # crontab -e 00 * * * * /usr/local/bin/php /home/john/myscript.php /usr/local/bin/php为PHP程序的路径. 二.在Crontab中使用URL执行脚本 如果你的P

  • PHP判断指定时间段的2个方法

    一.包含小时和分钟的判断 date_default_timezone_set("Asia/Shanghai"); $time = intval (date("Hi")); if ($time > "800" && $time < "1130") { // code } 二.只判断小时 date_default_timezone_set("Asia/Shanghai"); if(d

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

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

  • PHP实现图片自动清理的方法

    本文实例讲述了PHP实现图片自动清理的方法.分享给大家供大家参考.具体实现方法如下: <?php /** * 图片清理计划程序,删除文件下两周没有访问的文件 */ $sRootPath = dirname(__FILE__); //define(TIME_LINE ,"-7 day"); //删除几天没有访问图片的时间 $dir = $sRootPath .DIRECTORY_SEPARATOR.'upload'; $iTimeLine = strtotime("-7

  • SQL Server 2008数据库设置定期自动备份的方法

    1.说明 日常工作中利用SQL SQLSERVER 2008的维护计划对数据库进行定期自动备份,这样一方面可以对数据库进行备份保证数据安全,另一方面也可以减轻对维护人员的负担.SQL Server2008 本身具有定期自动备份功能,我们只需要通过简单的配置就可以实现非常简单高效的自动备份功能. 下面话不多说了,来一起看看详细的介绍吧 2.打开SQL Server代理服务 要实现自动备份功能,首先要保证SQL Server的"SQL Server(代理)"服务已经打开. 如果没有看到这个

  • Navicat Premium12进行数据库定期自动备份的方法步骤

    上一篇我们刚刚安装好破解版的navicat,这一篇我们就做一个数据库的定时备份任务吧 首先我们连接数据库,这里我使用mysql数据库做示范,其他的数据库备份也是一样的 点击自动运行 点击新建批处理作业 按照如下步骤点击,选中我们要备份的数据库 点击保存,设置文件名 点击设置计划任务,然后按照下面的步骤依次选择 选择触发器,设置备份的时间,然后点击确定 输入本机的密码,即可完成定时任务 备份成功的话是这样子的,备份成功的数据库如何导入这里就不讲了 到此这篇关于Navicat Premium 12进

  • Hibernate中Session.get()方法和load()方法的详细比较

    一.get方法和load方法的简易理解 (1)get()方法直接返回实体类,如果查不到数据则返回null.load()会返回一个实体代理对象(当前这个对象可以自动转化为实体对象),但当代理对象被调用时,如果没有数据不存在,就会抛出个org.hibernate.ObjectNotFoundException异常 (2)load先到缓存(session缓存/二级缓存)中去查,如果没有则返回一个代理对象(不马上到DB中去找),等后面使用这个代理对象操作的时候,才到DB中查询,这就是我们常说的 load

  • Django项目定期自动清除过期session的2种方法实例

    目录 非自动方法 第一种方法通用方法(利用APScheduler定时清除) 安装插件 添加定时任务 添加如下代码在wsgi.py 运行效果 利用宝塔面板(baota)的计划面板(shell脚本) 进入shell编辑面 编写shell脚本 执行脚本 运行效果 总结 非自动方法 python manage.py clearsessions 第一种方法通用方法(利用APScheduler定时清除) 安装插件 pip install apscheduler 添加定时任务 找到项目同名的app文件夹中的w

  • MySQL 自动清理binlog日志的方法

    说明: 开启MySQL binlog日志的服务器,如果不设置自动清理日志,默认binlog日志一直保留着,时间一长,服务器磁盘空间被binlog日志占满,导致MySQL数据库出错. 使用下面方法可以安全清理binlog日志 一.没有主从同步的情况下清理日志 mysql -uroot -p123456 -e 'PURGE MASTER LOGS BEFORE DATE_SUB( NOW( ),INTERVAL 5 DAY)'; #mysql 定时清理5天前的binlog mysql -u root

  • PHP中session使用方法详解第1/2页

    由于 Session 是以文本文件形式存储在服务器端的,所以不怕客户端修改 Session 内容.实际上在服务器端的 Session 文件,PHP 自动修改 session 文件的权限,只保留了系统读和写权限,而且不能通过 ftp 修改,所以安全得多.PHPChina 开源社区门户 对于 Cookie 来说,假设我们要验证用户是否登陆,就必须在 Cookie 中保存用户名和密码(可能是 md5 加密后字符串),并在每次请求页面的时候进行验证.如果用户名和密码存储在数据库,每次都要执行一次数据库查

  • thinkphp3.x中session方法的用法分析

    本文实例讲述了thinkphp3.x中session方法的用法.分享给大家供大家参考,具体如下: 一.Session方法用于Session 设置.获取.删除和管理操作. Session 用于Session 设置.获取.删除和管理操作 用法 session($name, $value='') 参数 name(必须):如果传入数组 则表示进行session初始化,如果传入null表示清空当前session,如果是字符串则表示session赋值.获取或者操作. Value(可选):要设置的sessio

  • PHP中session跨子域的三种实现方法

    在之前做东西的时候session一般就直接存在数据库中这样就能解决跨域不仅仅是跨子域,但是今天遇到这个问题是,自己要在别人现有的东西上面做修改.由于仅仅是子域当时就想肯定有简单的解决方法,度娘了找到了三种解决办法: Session主要分两部分: 一个是Session数据,该数据默认情况下是存放在服务器的tmp文件下的,是以文件形式存在. 另一个是标志着Session数据的Session Id,Session ID,就是那个 Session 文件的文件名,Session ID 是随机生成的,因此能

随机推荐