听起来很愚蠢,但我对这种行为感到困惑:
在我的 PHP 代码中,我session_start();
在其他任何东西之前调用(甚至在调用之前没有空格)。我可以通过设置会话变量然后回显所述变量来测试这一点。
如果我在我的一个页面上运行以下代码,我会得到一个预期的会话 ID,但如果我在用于 ajax 的一个帖子页面上运行它,那么它会出现空。只能看到我在 ajax 帖子页面上专门设置的会话,而不是从另一个页面设置的会话变量。
$a = session_id();
var_dump($a);
我知道我会收到回复,告诉我确保我session_start();
从一开始就被调用,但我发誓它是(如果不是,会话将不会在该页面上本地工作)。
到底是什么导致了这种奇怪的行为?
FWIW,ini_set('display_errors', 1); error_reporting(E_ALL);
除了告诉我在尝试转储从另一个页面设置的会话变量时我有一个未定义的变量之外,添加并没有给我任何信息。