2010-06-30 113 views
1

我有一个页面重定向到一个名为customproofs.php的页面。什么是出现的register_globals警告消息?

当它重定向到该页面时,会出现以下警告消息:

警告:未知:您的脚本可能 依靠其 存在,直到PHP 4.2.3会话副作用。请建议 建议会话扩展 不考虑全局变量作为 数据源,除非 register_globals已启用。通过设置 session.bug_compat_42或 session.bug_compat_warn时为关闭,分别未知 在线0

这是否意味着我需要改变在PHP的东西,你可以 禁用此功能,这 警告。 ini文件?我将如何更改Web服务器上特定文件夹的php.ini文件?

是否正在更改设置,以便消息消失?我为什么收到这条消息?

该代码正常工作,因为它现在。我能否告诉警告不要出现?

+0

你不应该改变php.ini,因为它是一个安全功能。 请认真阅读负责此警告的代码 – jigfox 2010-06-30 10:45:07

+0

您使用的是哪个版本的PHP? – fabrik 2010-06-30 10:45:52

+0

@Jens - 我不知道哪部分代码是负责任的,因为错误消息说要在第0行看,我不知道错误是指什么。 – zeckdude 2010-06-30 10:51:02

回答

4

您可以避免使用会话变量和常规变量的相同名称。

例如如果你有

$foo = 'Hello'; 
$_SESSION['foo'] = 'Bar'; 

试试这个改变为:

$foo = 'Hello'; 
$_SESSION['session_foo'] = 'Bar'; 
+0

使用名为$ address的变量和名为$ _SESSION ['address']的另一个变量有什么问题? – zeckdude 2010-06-30 10:56:55

+0

@zeckdude这是一个漫长的故事。你最好这样做。或者至少使用非空值初始化$ _SESSION ['address']。 – 2010-06-30 10:59:36

1

这是非常奇怪的错误消息。
为了避免这个和其他许多陷阱,只是从来没有对会话变量和全局变量使用相同的名称。即在相同的脚本变量$_SESSION['cart']$cart是错误的,而$_SESSION['sess_cart']$cart是好的。
另外,我希望你不要使用古老的会话语法,session_register()一个