我只在代码中使用会话变量。我没有开始任何cookie活动。我只是做session_start()并对变量进行操作。 但是在一段时间(大约30分钟)结束时,会议结束了。如果我执行print_r($ _ SESSION)会话无效。
我已经尝试将session.gc_maxlifetime设置为7200(2小时),但会话在不到30分钟内就会被破坏。
我该如何解决这个问题?这很正常吗?如果我关闭浏览器或将语句/指令发送到session_destroy?
,会话是否应该被销毁?答案 0 :(得分:0)
会话变量用于保存信息,直到浏览器关闭。我不太确定你想在项目中实现什么,因为你还没有发布任何代码。
一些简单的事情就像没有将session_write_close();
放在php脚本的末尾或session_start()
一开始,在任何html标签可能弄乱你的代码之前。
答案 1 :(得分:0)
默认超时为24分钟。
除了php.ini,您可以在代码中更改它。你可以试试这个:
array_count_values
来自这个答案:How to change the session timeout in PHP?
关于它的文章:
https://bytes.com/topic/php/insights/889606-setting-timeout-php-sessions
给出了我适应2小时的代码。
[0]
php.net页面:
http://php.net/manual/en/function.session-set-cookie-params.php
其他堆栈答案验证了这一点(一些评价很高):
PHP sessions default timeout
How do I expire a PHP session after 30 minutes?