我们已经准备好了,你呢?

2024我们与您携手共赢,为您的企业形象保驾护航!

在 PHP 中设置过期时间的最简单方法是修改 PHP 配置文件。

概述:每次 PHP 请求时,都有 1/100 的概率(默认值)触发一次“回收”,如果发生“回收”,则会检查 /tmp/sess_* 下的文件,如果最后修改时间超过 1440 秒(该值),则会删除,也就是过期了。

1.它在客户端是如何存在的(通常用PHP)?

默认情况下,PHP 会将其保存在/tmp 目录下,文件名如下:。每个文件对应一个()。

更多/tmp/

|s:9:“”;管理员|s:1:“0”;

#变量名 | 类型:长度:值

这里删除文件意味着对应的文件将失效。

2.它在终端(通常是浏览器)是如何存在的?

在浏览器端,只需要保存ID(客户端生成的唯一ID)即可。保存方式有两种:浏览器内、URL内。如果将ID保存在浏览器内,则可以看到浏览器中有一个变量。如果是通过URL传递的,则可以看到类似这样的内容:

index.php?= URL。(在末尾使用 . 来控制使用哪种方法)

3.在客户端,PHP 如何判断文件是否过期?

如果“最后修改时间”距离“现在”超过(默认为 1440)秒,则认为文件已过期。下次回收时,如果文件没有被更改,则会将其删除(已过期)。

如果你登录某个网站,在1440秒(默认值)内没有进行任何操作,则相应的登录被视为过期。

因此可以通过修改php.ini文件中的变量来延长过期时间:(例如修改过期时间为86400秒)

.= 86400 然后,重新启动服务器

注意:

PHP5在过期的时候采用回收机制。

这里设置的时间为86400秒,如果86400秒内没有修改,那么在下次“回收”的时候就会被删除。

3.“回收”何时发生?

默认情况下每个PHP请求都有1/100的概率被回收,所以可以简单理解为“每100个PHP请求就会发生一次回收”。

该概率由以下参数控制:

#概率是/

. = 1

. = 100

注意:

1、假设此情形=120,如果某个文件最后修改时间是120秒之前,那么在下次回收前它仍然有效(概率为1/100)。

2. 如果在其他地方使用 . 保存,回收机制可能不会自动处理过期文件,此时需要手动(或)定期删除过期文件:cd /path/to/; find -cmin +24 | xargs rm

4. 特殊情况

由于回收机制会检查文件的“最后修改时间”,如果某个会话处于活动状态,但是内容没有发生改变,则对应的文件也没有发生改变,回收机制会认为它长时间处于非活动状态,从而将其删除。

可以通过下面的代码解决这个问题:

如果(!isset($[''])||(time(-$[''])>60)

$[''] = 时间();

代码将每 60 秒尝试修改一次。

总结:

如果要修改过期时间,只需修改该变量即可。

PHP5 使用被动恢复机制()。

过期的文件不会自行消失,而是通过触发“回收”来处理。

我要说的就这么多,希望对大家有帮助。

二维码
扫一扫在手机端查看

本文链接:https://by928.com/4817.html     转载请注明出处和本文链接!请遵守 《网站协议》
我们凭借多年的网站建设经验,坚持以“帮助中小企业实现网络营销化”为宗旨,累计为4000多家客户提供品质建站服务,得到了客户的一致好评。如果您有网站建设、网站改版、域名注册、主机空间、手机网站建设、网站备案等方面的需求,请立即点击咨询我们或拨打咨询热线: 13761152229,我们会详细为你一一解答你心中的疑难。

项目经理在线

我们已经准备好了,你呢?

2020我们与您携手共赢,为您的企业形象保驾护航!

在线客服
联系方式

热线电话

13761152229

上班时间

周一到周五

公司电话

二维码
微信
线