register_globals=off 網(wǎng)站打不開(kāi)的解決方法
register_globals是php.ini里的一個(gè)配置,這個(gè)配置影響到php如何接收傳遞過(guò)來(lái)的參數(shù),顧名思義,register_globals的意思就是注冊(cè)為全局變量,所以當(dāng)On的時(shí)候,傳遞過(guò)來(lái)的值會(huì)被直接的注冊(cè)為全局變量直接使用,而Off的時(shí)候,我們需要到特定的數(shù)組里去得到它。所以,碰到上邊那些無(wú)法得到值的問(wèn)題的朋友應(yīng)該首先檢查一下你的register_globals的設(shè)置和你獲取值的方法是否匹配。(查看可以用phpinfo()函數(shù)或者直接查看php.ini)
register_globals=off的目的主要是為安全考慮,同時(shí)大多數(shù)程序要求將該值設(shè)為off,以前用On風(fēng)格寫的大量腳本怎么辦? 如果你以前的腳本規(guī)劃得好,有個(gè)公共包含文件,比如config.inc.php一類的文件,在這個(gè)文件里加上以下的代碼來(lái)模擬一下
?碼:
<?php
if ( !ini_get("register_globals") )
{
extract($_POST);
extract($_GET);
extract($_SERVER);
extract($_FILES);
extract($_ENV);
extract($_COOKIE);
if ( isset($_SESSION) )
{
extract($_SESSION);
}
}
?>