2009-09-10 218 views
1

我的ISP的PHP服務器現在正在返回PHP語法錯誤

500 - 內部服務器錯誤。 您正在查找的資源存在問題,並且無法顯示。

在我認爲是有效的PHP,即

if ($_REQUEST[ 'some_data' ] == null) 
{ 
    echo "<p>No data</p>"; 
} 
else 
{ 
    echo "<p>Some data</p>"; 
} 

我試圖打開錯誤與

error_reporting(E_ALL); 
if (!ini_get('display_errors')) 
{ 
    ini_set('display_errors', "stderr"); 
} 

所以報告雖然我可以通過內附值的所有檢查中讓我的代碼工作陣列與

if (isset($_REQUEST[ 'some_data' ])) 
{ 
    // ... do stuff 
} 

我不明白,錯誤dianognois現在需要很長時間。任何人都可以給我一個線索怎麼回事?

回答

0

我看起來像您的ISP對PHP配置非常緊張。我建議您在本地服務器上開發所有代碼,確保它使用E_ALL運行(如果是PHP5,則可能爲E_STRICT),然後將其上載到服務器。

並沒有正確地檢查一個變量是否被設置是簡單的,而且是簡單的錯誤編碼。確保通過始終使用isset或array_key_exists來檢查數組中的值。

1

錯誤不在您的PHP腳本中,但可能在您的web服務器(.htaccess?)的配置或您試圖訪問的路徑或文件名的某處。

如果您不是管理員,請檢查您的ISP中的其他網站是否遇到問題。也許你的ISP正在使用他們的網絡服務器?

0

代碼的問題是NULL!= NULL。你最好問「如果空($ somevar)...」

至於你的500錯誤,我不希望你發佈的代碼影響到這一點。