2017-05-30 137 views
2

當我得到一個PHP錯誤時,它出現了一個500內部服務器錯誤頁面。我希望它顯示致命的錯誤。我花了幾天的時間試圖讓它顯示正確的錯誤。這是我到目前爲止所嘗試的:PHP錯誤報告:Wordpress

1)按照此處所述編輯wp-config.php文件:https://help.massivedynamic.co/hc/en-us/articles/115000572108-How-to-enable-WordPress-error-reporting。我嘗試了顯示錯誤和創建日誌的選項。

2)訪問Plesk並根據https://support.managed.com/kb/a1937/how-to-enable-php-error-logging-in-plesk-11.aspx進行更改。這似乎將user.ini文件更改爲:[PHP] display_errors=on error_log="d:\Plesk\VHOSTS\[MYDOMAIN]\php.log.resources" log_errors=on。我也嘗試過在這裏手動更改目錄,但無濟於事。

3)在頁面的標題中添加各種各樣的代碼。 error_reporting(E_ALL); ini_set('display_errors', 'on'); echo "aaa"; ob_flush();是其中之一。

任何人都可以提出什麼我可以嘗試?

謝謝。

+2

500不是一個PHP的錯誤,其服務器錯誤。看看你的.htaccess,它可能有一個錯誤。 – Jelmergu

+1

500錯誤表示您的代碼出現錯誤,請仔細閱讀代碼,然後將wp debug打開爲true。它會在頁面中顯示錯誤和警告 – Exprator

+0

@ Jelmergu只有當我更改php文件時纔會出現此錯誤。我沒有一個htaccess文件。 – Atrag

回答

-1

在wordpress根目錄中搜索error_log文件。根據您的設置,它在那裏,或者在您的wamp stack日誌文件夾中。 就像已經評論過的,500不是一個PHP錯誤,而是一個服務器錯誤,所以你不能用PHP打印出來。

+0

謝謝。也許我完全誤解了它。我注意到它發生在php中有語法錯誤時。是不是可以調試這種類型的錯誤? – Atrag

+0

這是完全錯誤的。在發生語法錯誤或其他問題時,php可能會引發500運行時錯誤。如果有錯誤報告,可以告訴你問題是什麼。 – DevDonkey

1

500代碼錯誤或服務器系統錯誤。

可以幾件事情可以做,以調試:

  • 請確保您有完整的錯誤在你的php.ini報告(或在腳本的頂部)
  • 儘量的簡單一點代碼來確保它不是服務器拋出錯誤。
  • 使用xdebug單步執行代碼,直到找到其失敗的地方。然後使用try/catch來試圖找出錯誤實際是什麼。
  • 查看服務器日誌,如果您有權訪問它們。
  • 爲您正在使用的代碼部分編寫適當的單元測試(您會寫測試是?)。通常,它更容易隔離單元測試的問題,而不是代碼是更大的應用程序的一部分。
  • 使用echo's和var_dumps嘗試查看代碼正在翻轉的位置。

完整的錯誤報告。

error_reporting(E_ALL); 
+0

謝謝。也許我高估了什麼調試信息可以檢索?例如,我有一個imagejpeg($ thumb,$ imageDirectory,20)的問題;這種情況下500內部錯誤。我想知道爲什麼,例如這是圖像還是保存到服務器的問題。 – Atrag

+0

歡迎來到調試的世界:) – DevDonkey

+0

哈哈所以沒有辦法得到任何信息,爲什麼失敗?或者甚至在代碼中標明該行? – Atrag

0

您可以通過訪問Apache的錯誤日誌文件爲您的虛擬主機查看錯誤:如果你沒有訪問php.ini中把這個在你的腳本的頂部。

如果你的虛擬主機稱爲example.com,則錯誤日誌文件應該位於/var/www/vhosts/example.com/logs/error.log