$ _SESSION不保留数据 - PHP

时间:2011-10-05 17:56:57

标签: php session

过去我曾多次使用会话变量,没有任何问题,但现在它已经让我...

每次触发PHP脚本时,我设置的$_SESSION var都会被取消设置,尽管它一次为一个变量设置好。

if (!isset($_SESSION['badList'])) {
    print 'not set - again?';
    $_SESSION['badList'][0] = $lineNum;
}
else
{
    $_SESSION['badList'][count($_SESSION)] = $lineNum;
}

这里'没有再次设置?'每次执行合适的操作时都会触发,即PHP无法找到初始会话var。当运行脚本时,会话缓存似乎完全清除,这会破坏会话点。

我该怎么办?非常感谢。

1 个答案:

答案 0 :(得分:3)

确保您已调用session_start()/etc/php.ini(或系统等效的)设置了session.save_path(通常为/var/lib/php/session/),并且您的网络服务器可以写入该目录(在Linux上它应该是drwxrwx---)并且你的磁盘没有满。如果您的会话被写入远程存储(数据库,memcached等),请确保您可以使用您的应用使用的凭据(如果适用)连接到该会话。

编辑还确保您在请求结束时调用session_write_close() - 如果不这样做,则可能无法编写会话数据