全局变量覆盖PHP中的会话变量

我在
PHP中发现了奇怪的行为,它看起来像“反向寄存器全局”.首先尝试这个:

session_start();
$_SESSION['test'] = NULL;
echo $_SESSION['test'];

这没什么输出.然后改变第2行:

session_start();
$test = 1;
echo $_SESSION['test'];

这输出“1”!

只有将$_SESSION [‘test’]设置为NULL才会发生这种情况!

如果100%折扣,请注册全局.

我的托管服务提供商有PHP 5.2.17.这不会发生在我当地的5.3.6上.

这是一个错误还是有一个设置?

最佳答案 问题解决了!

我改变了php.ini:

session.bug_compat_42 = On
session.bug_compat_warn = Off

至:

session.bug_compat_42 = Off
session.bug_compat_warn = Off

谢谢Kerrek SB!

点赞