由于业务需要,我在CakePHP中设置会话超时很长,我在core.php上配置了这样:
Configure::write('Session', array(
'defaults' => 'php',
'timeout' => 4320, //minutes
'cookieTimeout' => 1440, // The session cookie will live for at most 24 hours, this does not effect session timeouts
'checkAgent' => false,
'autoRegenerate' => true, // causes the session expiration time to reset on each page load
'ini' => array(
'session.gc_maxlifetime' => 259200 // 3 day seconds
)
));
我在本地服务器和生产服务器上进行了一些测试,我看到了一些差异:
本地开发环境(PC)
1小时:成功(会议未结束)
2小时:成功(会话未结束)
4小时:成功(会话未结束)
制作服务器
1小时:成功(会议未结束)
2小时:未成功(会话结束)
我需要能够在生产服务器上进行大量超时(最少4小时),为什么我在本地PC和服务器之间存在这种差异?
答案 0 :(得分:1)
这是因为您的Web主机具有不同的PHP配置。您可以使用phpinfo()检查会话过期时间。
您可以使用PHP ini
进行设置