php - 为什么我的 session 比我设置的时间更快到期?

标签 php session

<分区>

Possible Duplicate:
PHP sessions timing out to quickly

在我设置的 .htaccess 文件中

php_value session.gc_maxlifetime 14400 

即4小时

如果我使用 echo ini_get('session.gc_maxlifetime'); 进行验证,我会得到 14400。但是我的 session 仍然会在不到 2 小时后到期。

你认为这里出了什么问题?任何帮助表示赞赏。谢谢

最佳答案

  • 一些发行版(至少是 Debian)有一个定期删除旧 session 的 cronjob。这个 cronjob 得到 session.gc_maxlifetime从系统的 php.ini 进行设置,从而忽略您的虚拟主机配置。

    解决方案:

    • 在系统的php.int中设置session.gc_maxlifetime(例如/etc/php5/apache2/php.ini)
    • 将此虚拟主机的 session 移动到单独的目录(设置 session.save_path)
  • 另一个可能的原因是 session cookie 在 session 本身之前过期。确保 session.cookie_lifetime变量至少等于 session.gc_maxlifetime(或 0)。

关于php - 为什么我的 session 比我设置的时间更快到期?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7429092/

相关文章:

powershell - 是否可以创建用户定义的 PowerShell 环境?

java - 从一个 Web 应用程序到另一个 Web 应用程序获取 cookie 或 session

javascript - Symfony2/Javascript 删除警报

php - 表单未在 onchange 事件中提交

php - 在 Hudson CI 上加速 PHP 持续集成构建服务器

session - 如何在 meteor 中将正则表达式发送到服务器端

php - Zend 引擎是否可嵌入 PHP 之外?

PHP/PDO SQLSTATE[42000] : Syntax error or access violation: 1064 Nightmare

java - 如果我丢失 session ,我的 JDBC 事务会发生什么情况

node.js - React Dev环境创建一个新的Session