2010-07-02 95 views
0

我與PHP的工作,並已得到了錯誤日誌導通和關了:PHP錯誤日誌記錄不全面?

error_reporting = E_ALL | E_STRICT 

log_errors = On 
error_log = /path/to/file 
display_errors = Off 

現在這個日誌文件捕獲大多數PHP錯誤,但偶爾我會做出改變,並在頁面無法顯示沒有記錄到文件。

這方面的一個具體的例子是,如果我做的:

interface InterfaceClass 
{ 
    public function someFunction(); 
} 

class InterfaceInheriter implements InterfaceClass 
{ 
    final public function someFunction() 
    { 

    } 
} 

    class FirstDerived extends InterfaceInheriter 
    { 
     public function someFunction() 
     { 

     } 
} 

現在,這一切都很好,我敢肯定,我已經取得了一些錯誤,但我在哪裏可以得到解釋反饋爲了這?

答案: 由於我使用Wordpress,事實證明它是以某種方式篩選出一些日誌消息。我通過爲Wordpress設置適當的日誌記錄配置來修復它。

感謝您的幫助!

+0

我無法複製此內容。當然,我記錄到Apache的error_log,但我得到[Fri Jul 02 02:49:04 2010] [error] [client 93.108.152.52] PHP致命錯誤:類InterfaceInheriter包含1個抽象方法,因此必須聲明爲抽象或在第10行執行/home/sites/main/a.php中剩餘的方法(InterfaceInheriter :: someFunction) – Artefacto 2010-07-02 01:53:46

+0

對,對,我沒有特別設計那個例子。我更新了一個我剛剛測試過的失敗的問題,並且應該不會生成錯誤日誌。 – radman 2010-07-02 02:11:50

+1

我還是得到一個錯誤:[Fri Jul 02 03:51:40 2010] [error] [client 93.108.152.52] PHP致命錯誤:無法在/ home/sites/main/a中覆蓋最終方法InterfaceInheriter :: someFunction 。第16行 – Artefacto 2010-07-02 02:52:40

回答

1

嘗試放置error_reporting(E_ALL | E_STRICT);在檔案中。

+0

它已經在php.ini中設置。爲什麼需要重新設置一個函數? – icktoofay 2010-07-02 02:23:30

+0

如果包含該文件,並且執行鏈上更高的另一個腳本使用函數也設置error_reporting .. - 簡單的事情來嘗試調試時容易捕獲.. – nathan 2010-07-02 02:34:32

+0

試過了,錯誤得到正確記錄。我現在使用Wordpress,所以現在我只需要弄清楚它有什麼愚蠢的做法來選擇性地過濾我的錯誤日誌。 – radman 2010-07-02 03:42:06