过去我曾多次使用会话变量,没有任何问题,但现在它已经让我...
每次触发PHP脚本时,我设置的$_SESSION
var都会被取消设置,尽管它一次为一个变量设置好。
if (!isset($_SESSION['badList'])) {
print 'not set - again?';
$_SESSION['badList'][0] = $lineNum;
}
else
{
$_SESSION['badList'][count($_SESSION)] = $lineNum;
}
这里'没有再次设置?'每次执行合适的操作时都会触发,即PHP无法找到初始会话var。当运行脚本时,会话缓存似乎完全清除,这会破坏会话点。
我该怎么办?非常感谢。
答案 0 :(得分:3)
确保您已调用session_start()
,/etc/php.ini
(或系统等效的)设置了session.save_path
(通常为/var/lib/php/session/
),并且您的网络服务器可以写入该目录(在Linux上它应该是drwxrwx---
)并且你的磁盘没有满。如果您的会话被写入远程存储(数据库,memcached等),请确保您可以使用您的应用使用的凭据(如果适用)连接到该会话。
编辑还确保您在请求结束时调用session_write_close()
- 如果不这样做,则可能无法编写会话数据