2017-08-17 65 views
-1

我有一箇舊的系統運行一箇舊的PHP版本。爲了檢查網站,我必須抑制所有的錯誤,警告,棄用等消息。不幸的是,在整個系統中有很多ini_set("display_errors", "1");的代碼。抑制所有的錯誤,警告,棄用等消息

是否有可能壓制一切,不管php腳本調用什麼?也許與php.ini或htaccess?

我已經在php.ini中禁用了「display_errors」。但那沒有幫助。

+1

你可以做你的php.ini –

+0

@caryaritferrer那麼請告訴OP如何 – RiggsFolly

+0

https://stackoverflow.com/a/15949483/6257039 –

回答

0

爲了獲得最佳的錯誤日誌的經驗,設定使用error_reporting到-1,轉display_errors關閉,並設置自定義error_log位置,因此它不會與您可能構建其他站點混合英寸

這樣做後,你應該找到並刪除顯示錯誤ini_set()調用。

然後在終端中鍵入tail -f /path/to/error_log。您的通知,警告和錯誤現在將實時滾動瀏覽,而不會扭曲網頁的顯示。

這樣,你仍然可以看到什麼需要重構/固定在一個更整潔的日誌格式,但沒有整個頁面亂七八糟的!

0

它沒有看到特別艱鉅的搜索和註釋掉所有ini_set("display_errors", "1");呼叫,但另一種方法是編寫自定義的錯誤處理程序(或編輯現有的):

<?php 

ini_set('display_errors', 1); 
error_reporting(-1); 

function ignore_errors($errno, $errstr, $errfile, $errline){ 
    // Optional error processing 
    return true; 
} 

$foo++; 

set_error_handler('ignore_errors'); 

$bar++; 
Notice: Undefined variable: foo in C:\...\scratch_7.php on line 11 

如果有」如果您的入口點太多,您可以隨時通過php.ini文件中的auto_prepend_file指令調用外部文件。