的index.php會話變量泄漏到全局命名空間
session_start();
$_SESSION['a']='test';
echo $a;
die();
當我運行上面的,我第一次得到了一個空白屏幕,並沒有錯誤。頁面刷新後輸出test
它不會在我的開發服務器上執行此操作,僅在生產時(在Hostgator上共享)。
這是服務器故障嗎?
的index.php會話變量泄漏到全局命名空間
session_start();
$_SESSION['a']='test';
echo $a;
die();
當我運行上面的,我第一次得到了一個空白屏幕,並沒有錯誤。頁面刷新後輸出test
它不會在我的開發服務器上執行此操作,僅在生產時(在Hostgator上共享)。
這是服務器故障嗎?
register_globals
不幸的是你的Hostgator託管打開。你需要在你的php.ini中關閉它,如果他們讓你訪問它的話。
你應該找一個更好的主人。 register_globals自PHP 5以來已被棄用,我相信自5.3以來徹底刪除。它在5年以上沒有被默認打開。它與您的主機一起應該被視爲警告標誌。 –
http://support.hostgator.com/articles/specialized-help/technical/register-globals-and-other-php-settings –
爲了跟進,上面給出的鏈接中的說明不適用於我。雖然它成功地關閉了register_globals,但它打破了其他一些東西。但是,如果您請求了它們,它們將爲您提供完整的php.ini文件並將其設置爲關閉register_globals。似乎現在工作。 –
$ a沒有定義? –
register_globals定義它。那就是問題所在。 –
是的... –