2012-11-14 50 views
0

如何確定爲什麼我的網站主機上的PHP頁面未編譯?如何記錄PHP編譯器錯誤?

編譯器錯誤記錄到哪裏?

+0

編譯器或解釋? – Kenzo

+0

在我的共享主機上,它們位於與PHP相同的目錄中的日誌文件中。 –

回答

0

你可以在你的主機的cPanel中找到它。

但某些主機將同一服務器上所有站點的所有錯誤合併到一個日誌文件中。

您必須搜索自己的錯誤。

2

應與運行代碼的文件位於同一目錄中。切換所有錯誤報告:

error_reporting(E_ALL); 
ini_set('error_reporting', E_ALL); 

ini_set('error_log', 'script_errors.log') // change here 
ini_set('log_errors', 'On') 
+0

有沒有辦法將所有這些錯誤寫入我選擇的文件? – CJ7

+0

我想,但不要抱着我,像這樣:ini_set('error_log','script_errors.log') ini_set('log_errors','On') –

+0

ini_set被許多網絡主機禁用 – CJ7

1

在PHP中沒有編譯器錯誤。發生的每個錯誤都以HTML數據的形式直接發送到瀏覽器。檢查您的腳本中是否已設置error_reporting(E_ALL);display_errors(1);

+1

每當我的PHP頁面出現某種語法錯誤時,他們都會返回'遠程服務器返回錯誤:(500)內部服務器錯誤。' – CJ7

+0

這可能是因爲您沒有錯誤報告,並且它輸出500錯誤因爲沒有錯誤處理程序,錯誤報告將會是400,但列出錯誤的詳細信息。 –

1

PHP通常不會被編譯,我猜你正在尋找運行時錯誤。如何顯示運行時錯誤可以使用error_reporting()方法進行控制。這就是說,確實有像HipHop by Facebook這樣的PHP編譯器,所以如果你正在尋找「編譯器錯誤」,我相信你將不得不詳細說明你的問題。