2010-02-09 34 views
1

我剛剛在服務器上發現了一個設置,我正在開發一個與本地主機設置不同的站點,但是,我可以沒有找到改變它的地方。

下面是發生了什麼的簡單示例。

$_SESSION['Animal'] = "Dog"; 
echo "#1: ".$_SESSION['Animal']."<br/>"; 
echo "#2: ".$Animal; 

在我的本地,服務器返回:

#1:狗
#2:

在公共主機,服務器返回:

#1:狗
#2:狗

我猜這是公共服務器php.ini文件中的設置,但是,我找不到它是哪個設置。

回答

8

Registered Globals directive似乎在。

此功能從PHP 5.3.0開始已經被拒絕,從PHP 6.0.0開始已被刪除。依靠這個功能是非常不鼓勵的。

Information about the register_globals ini setting

正如上面的說明中表示,我們強烈建議您在php.ini文件中禁用此公開服務器上。

如果您沒有訪問php.ini文件公開服務器上,該使用手冊暗示一種替代方案:

請注意register_globals不能在運行時設置(的ini_set())。雖然,如果您的主機如上所述允許,您可以使用.htaccess。例如.htaccess條目:關閉php_flag register_globals。

+0

我可以發誓我已經把他們關閉了,但顯然不是,謝謝! – ticallian 2010-02-09 07:19:02

相關問題