繁体   English   中英

PHP会话扩展不考虑全局变量

[英]PHP session extension does not consider global variables

我目前收到错误:

警告:未知:您的脚本可能依赖于PHP 4.2.3之前存在的会话副作用。 请注意,除非启用register_globals,否则会话扩展不会将全局变量视为数据源。 您可以通过将session.bug_compat_42或session.bug_compat_warn分别设置为off来禁用此功能和此警告,分别在第0行的Unknown中

我相信它与以下代码有关(因为那时我开始注意到它):

session_start();                         // Open sessions
$remember_alert = $_SESSION['alert'];   // Remember session alert
session_unset();                         // Unset all data in session
session_destroy();                     // Kill empty session
session_start();                         // Re-open session
$_SESSION['alert'] = $remember_alert;   // Recall session alert

这是我正在构建的CMS的logoff.php页面上的代码,用于清除除警报变量之外的所有会话信息。 任何见解将不胜感激!

嗨,我有同样的问题,在我的情况下,它在这里$ arrFormData和这里$ _SESSION ['arrFormData']事情是具有相同的变量名称。 在我的情况下,它发生在$ _GET数组上,但我想它应该是类似的。 尝试将$ arrFormData变量重命名为其他内容并让我们知道它是否有效。

来源

这是因为在某个地方你拥有与$_SESSION全局键相同的变量名。

session_start();
$_SESSION['a'] = 1;
$a = 1;

您可以通过在php.ini关闭session.bug_compat_42或使用ini_set()来禁用错误。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM