$_SESSION没有保留数据- PHP


$_SESSION is not retaining data - PHP

我过去多次使用会话变量,没有问题,但现在它让我…

我正在设置的$_SESSION var在每次PHP脚本被触发时都变得不设置,尽管它一次为一个变量设置ok。

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

这里没有设置-再次?当我每次执行适当的操作时,即PHP无法找到初始会话变量,会话缓存似乎在脚本运行时完全清除,这有点破坏了会话的意义。

我能做什么?多谢。

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

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