PHP 会话副作用警告:全局变量出现问题
尝试托管 PHP 网站时,您可能会遇到一条警告,指出您的脚本依赖于 PHP 4.2.3 中已弃用的会话副作用。当会话扩展无法将全局变量识别为数据源时,除非启用了 register_globals 选项,否则会出现此警告。
了解问题
全局变量是可以可以从脚本内的任何范围进行访问。在旧版本的 PHP 中,会话扩展会自动将全局变量注册到会话中。然而,这种行为被认为是一种安全风险,并在 PHP 4.2.3 中被删除。
追踪来源
要识别警告的来源,请查找在会话上下文中使用全局变量的实例。具体来说,检查与会话变量同名的变量,因为这可能会导致警告。
禁用警告
您可以通过设置 PHP 来禁用警告配置选项“session.bug_compat_warn”和“session.bug_compat_42”为“off”。这些设置可以通过以下方式配置:
session.bug_compat_warn = 0 session.bug_compat_42 = 0
php_value session.bug_compat_warn 0 php_value session.bug_compat_42 0
替代解决方案:
或者,您可以通过将以下行添加到脚本中来阻止 PHP 尝试查找现有变量:
ini_set('session.bug_compat_warn', 0);
ini_set('session.bug_compat_42', 0);
免责声明: 提供的所有资源部分来自互联网,如果有侵犯您的版权或其他权益,请说明详细缘由并提供版权或权益证明然后发到邮箱:[email protected] 我们会第一时间内为您处理。
Copyright© 2022 湘ICP备2022001581号-3