【发布时间】:2017-11-13 17:36:01
【问题描述】:
我在为我们的项目设置 PHP 会话时遇到问题,想寻求帮助。目标是通过增加会话生命周期来延长购物车数据的有效性(存储在会话中)。
问题是,无论我做什么,无论设置如何,会话文件都会在几个小时后被删除。
我在虚拟主机定义中这样设置:
<VirtualHost *:80>
...
php_value memory_limit 128M
php_value upload_max_filesize 20M
php_value post_max_size 20M
php_value session.cookie_lifetime 2592000
php_value session.gc_maxlifetime 2592000
php_value session.save_path "/data/hosting/myproject/sessions"
...
</VirtualHost>
甚至将会话存储移动到专用目录以避免任何可能的系统维护清除会话,但没有成功。
在开发环境 (Wamp 3.0.6 64b) 上,这工作得很好,而且正如预期的那样,在生产服务器上并没有那么多。此外,当我尝试使用 PHP ini_get() 函数 (http://php.net/manual/en/function.ini-get.php) 仔细检查设置值时,开发和生产环境都会返回正确的必需值。
项目存储在我们使用这些的 VPS 上:
- PHP 5.5.38
- Apache/2.2.15 (Unix)
- CentOS Linux 6.0 版(最终版)
值得注意的观察 - 不仅仅是这个项目,同样的设置在应用于另一个项目时也会失败。
提前感谢任何可以帮助我解决这个问题的提示或想法,我们将不胜感激。
免责声明:请不要评论解决方案本身,我很清楚它不是最佳的。这是一个老项目,重写购物车数据存储方法根本不可行。
【问题讨论】:
标签: php apache session centos virtualhost