以全局变量为数据源的 PHP session 副作用警告

标签 php session global-variables session-variables

我正在尝试托管提供给我的 PHP 网站。我看到这个警告:

Warning: Unknown: Your script possibly relies on a session side-effect which existed until PHP 4.2.3. Please be advised that the session extension does not consider global variables as a source of data, unless register_globals is enabled. You can disable this functionality and this warning by setting session.bug_compat_42 or session.bug_compat_warn to off, respectively. in Unknown on line 0

这是什么意思?我如何在代码中追踪此问题的根源?

最佳答案

基本上你有一个与你的 session 同名的变量。例如:

$_SESSION['var1'] = null;
$var1 = 'something';

这将重现此错误。您可以通过将这些行添加到脚本中来阻止 PHP 尝试查找现有变量并警告您:

ini_set('session.bug_compat_warn', 0);
ini_set('session.bug_compat_42', 0);

这些值也可以在 php.ini 或 .htaccess 中设置

关于以全局变量为数据源的 PHP session 副作用警告,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/175091/

相关文章:

php - 如何限制用户访问 YII 框架中的个人资料信息

php - 如何 docker 化

powershell - 跨 session 保存 Powershell 对象

java - session ID 对另一台服务器有意义吗?

asp-classic - 如何在Classic ASP中使变量成为静态变量(或 “global”)?

php - 将数组的值插入 MYSQL

javascript - PHP 与 onclick 函数

php - 警告 : session_regenerate_id(): Session object destruction failed in

c++ - 在嵌入式编程中避免使用全局变量

c++ - 外部变量和数组声明问题 C++