PHP 会话超时过快
我在我的网站上使用php Sessions,似乎它们正在随机间隔“消失”。我不知道它们是否由于不活动而超时,或者我的代码是否有问题,但是有没有办法控制它们何时过期的会话?
比如我可以在代码中放入一些东西,或者在php.ini文件中更改一些东西吗?
更新-因此,只是在这里更新,我切换了主机,神奇地会话开始工作。我不知道出了什么问题,但显然他们不想正常工作。
我在我的网站上使用php Sessions,似乎它们正在随机间隔“消失”。我不知道它们是否由于不活动而超时,或者我的代码是否有问题,但是有没有办法控制它们何时过期的会话?
比如我可以在代码中放入一些东西,或者在php.ini文件中更改一些东西吗?
更新-因此,只是在这里更新,我切换了主机,神奇地会话开始工作。我不知道出了什么问题,但显然他们不想正常工作。
随机过期是多个应用程序共享的会话数据目录的典型症状:时间最短的应用程序可能会从其他应用程序中删除数据。原因:session.gc_maxlifetime
内置文件处理程序不跟踪谁拥有哪个会话文件(它只是将文件名与会话 ID 匹配):
我的建议是,您可以为应用程序配置一个专用自定义会话目录。这可以通过session_save_path()
函数或设置session.save_path
配置指令来完成。请查看您的框架文档,以获取有关如何在自己的代码库中执行此操作的确切详细信息。
Debian 使用 cron 作业以安全的方式自动使会话过期。如果您使用的是 Debian,请查看 /etc/cron.d/php5。