1

我刚刚将开发站点移至我的 linux 服务器进行生产,但会话似乎并没有持续很长时间。我猜这是服务器设置而不是 php,因为它与 plesk 面板做同样的事情。每当执行脚本时,会话似乎都未设置。我在错误日志中什么也没看到,所以不确定它是什么。在 wamp 上一切正常。无论如何,我上传了 wamp 服务器中的 php.ini 文件,因为它具有我需要的所有设置,并且所有设置都在本地主机上工作。不知道问题是什么,这是我在投入生产之前必须解决的最后一件事。并且添加会话正在开始,因为它们会持续一段时间,只是不要长时间停留。

这是我的登录脚本的相关部分,以防万一代码有问题:

 // if login is ok then we add a cookie 
if($flag == 0) {
 $pass = htmlspecialchars(mysql_real_escape_string($_POST['pass']));
 $username = htmlspecialchars(mysql_real_escape_string($_POST['username']));



  $_SESSION['username']=$username;
  $_SESSION['password']=$pass;
4

3 回答 3

1

在 php.ini 文件中为 session.gc_maxlifetime 设置更高的值。

你做了 session_start(); 某处?

于 2012-06-22T22:14:45.000 回答
0

请确保您使用 session_start() 开始了会话(只是为了确定)

您应该查看设置 (PHP.ini/phpinfo()): session.cookie_lifetime 它定义了 cookie 的生命周期以跟踪会话

于 2012-06-22T22:17:37.750 回答
0

确保启用 cookie

如果您使用的是 Firefox,请使用 firebug/cookie monster 检查您的 Cookie。

确保在任何输出开始之前使用 session_start()

于 2012-06-23T03:11:39.713 回答