1

可能重复:
使用全局变量作为数据源的 PHP 会话副作用警告

我收到以下警告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

我相信以下代码会产生警告。

 $name=$_SESSION['name'];
 $emails=$_SESSION['email'];

 $_SESSION['info']=array_intersect($name, $emails);

我无权访问php.ini也无服务器。我只能更改我的代码。有没有办法删除警告?

4

2 回答 2

3

这意味着您有一个与会话变量同名的变量,如下所示。

$_SESSION['variable'] = null;
$variable = 'data';

您可以通过将这些行添加到 php.ini 或 .htaccess 中的脚本来阻止 PHP 尝试查找现有变量并警告您

ini_set('session.bug_compat_warn', 0);
ini_set('session.bug_compat_42', 0);
于 2013-01-09T17:24:31.943 回答
2

这将消除错误:

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

您也可以在 .htaccess 文件中关闭它,或者如果可用,在您的目录根目录中的 php.ini 文件中关闭它。

于 2013-01-09T17:19:43.477 回答