PHP会话和Cookies被删除了吗?

时间:2012-05-22 11:24:10

标签: php cookies

在Chrome和& Firefox,这比会话cookie持续大约一个小时,而javascript设置的其他cookie消失了。我甚至没有关闭浏览器。

session_set_cookie_params(946080000); // 30 years
session_start();
$_SESSION['login']=true;

不见了。会话cookie消失了。我认为它不是浏览器的东西,因为它在Chrome和& Firefox浏览器。我没有在IE上测试。

这是正常的行为......我确定它不会在某处被取消。

抱歉,我知道我没有提供太多信息,但那是因为没有太多信息要提供。它应该工作,但它没有。

1 个答案:

答案 0 :(得分:0)

我认为你做错了,如果可能的话,改变php.ini以反映你想要应用的coockie持续时间。从php.net手册阅读:

  

“设置php.ini文件中定义的cookie参数。这个效果   函数仅持续脚本的持续时间。因此,你需要   为每个请求和之前调用session_set_cookie_params()   调用session_start()。

     

此函数更新相应PHP的运行时ini值   可以使用ini_get()检索的ini配置键。“

这意味着你需要在执行session_start()之前在所有php文件中调用它。可能有解决方案的博文:http://blog.centresource.com/2006/05/23/php-session-lifetime-an-adventure/

要更改PHP ini中的值,请使用以下行:

php_value session.gc_maxlifetime "946080000"

无论如何,使用coockie更好,会话不会用很长时间,而是使用cookie。