我有一箇舊的系統運行一箇舊的PHP版本。爲了檢查網站,我必須抑制所有的錯誤,警告,棄用等消息。不幸的是,在整個系統中有很多ini_set("display_errors", "1");
的代碼。抑制所有的錯誤,警告,棄用等消息
是否有可能壓制一切,不管php腳本調用什麼?也許與php.ini或htaccess?
我已經在php.ini中禁用了「display_errors」。但那沒有幫助。
我有一箇舊的系統運行一箇舊的PHP版本。爲了檢查網站,我必須抑制所有的錯誤,警告,棄用等消息。不幸的是,在整個系統中有很多ini_set("display_errors", "1");
的代碼。抑制所有的錯誤,警告,棄用等消息
是否有可能壓制一切,不管php腳本調用什麼?也許與php.ini或htaccess?
我已經在php.ini中禁用了「display_errors」。但那沒有幫助。
爲了獲得最佳的錯誤日誌的經驗,設定使用error_reporting到-1
,轉display_errors
關閉,並設置自定義error_log
位置,因此它不會與您可能構建其他站點混合英寸
這樣做後,你應該找到並刪除顯示錯誤ini_set()調用。
然後在終端中鍵入tail -f /path/to/error_log
。您的通知,警告和錯誤現在將實時滾動瀏覽,而不會扭曲網頁的顯示。
這樣,你仍然可以看到什麼需要重構/固定在一個更整潔的日誌格式,但沒有整個頁面亂七八糟的!
它沒有看到特別艱鉅的搜索和註釋掉所有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指令調用外部文件。
你可以做你的php.ini –
@caryaritferrer那麼請告訴OP如何 – RiggsFolly
https://stackoverflow.com/a/15949483/6257039 –