首頁 >後端開發 >PHP問題 >php怎麼打開錯誤日誌

php怎麼打開錯誤日誌

王林
王林原創
2021-03-09 17:26:064919瀏覽

php開啟錯誤日誌的方法:1、開啟php.ini設定文件,找到「log_errors」選項,將該選項的值由「Off」改為「On」。 2.在PHP檔案中使用使用ini_set()函式修改,語法「ini_set("log_errors", "On");」。

php怎麼打開錯誤日誌

本文操作環境:windows10系統、php8、thinkphp t480電腦。

開啟錯誤日誌,PHP提供兩種方法。

方法1:修改php.ini檔案

只需要在php.ini設定檔中做以下修改即可:

1. error_reporting  =  E_ALL    #将会向PHP报告发生的每个错误
2. display_errors = Off    #不显示满足上条 指令所定义规则的所有错误报告,设置成off发生错误时,浏览器报500,不显示具体错误(具体错误不会输出到浏览器上,用户也就看不到。会写到第5步的错误文件中,非正式环境全设置成on更方便) 
3. log_errors = On    #开启错误日志  
4. log_errors_max_len = 1024    #设置每个日志项的最大长度  
5. error_log =/usr/local/error.log    #指定产生的 错误报告写入的日志文件位置

PHP的設定檔以上面的方式設定完成以後,並重新啟動Web伺服器。這樣,在執行PHP的任何腳本檔案時,所產生的所有錯誤報告都不會在瀏覽器中顯示,而會記錄在自己指定的錯誤日誌 /usr/local/error.log 中。

此外,不僅可以記錄滿足error_reporting所定義規則的所有錯誤,還可以使用PHP中的error_log()函數,送出一個用戶自訂的錯誤訊息,寫入到error_log中。或故意發生個錯誤,如 執行echO,觸發的錯誤就會寫到php的錯誤日誌中。

方法2:使用ini_set()函數

ini_set("log_errors", "On");//开启错误日志
ini_set("display_errors", "On");//打开错误提示
ini_set("error_reporting", E_ALL);//显示所有错误

PHP ini_set用來設定php.ini的值,在函數執行的時候生效,腳本結束後,設定失效。無需打開php.ini文件,就能修改配置,對於虛擬空間來說,很方便。

擴充知識:

錯誤等級包含:

E_ALL                  - 所有错误和警告(包括PHP 5.4.0中的E_STRICT)
E_ERROR                - 致命的运行时错误
E_RECOVERABLE_ERROR    - 几乎致命的运行时错误
E_WARNING              - 运行时警告(非致命错误)
E_PARSE                - 编译时解析错误
E_NOTICE               - 运行时通知(这些通常是警告,从您的代码中的错误,但它可能是故意的(例如,使用未初始化的变量和赖于它自动初始化为一个事实空字符串)
E_STRICT               - 运行时通知,允许PHP建议更改您的代码将确保最佳的互操作性,并转发代码的兼容性
E_CORE_ERROR           - PHP初始启动期间发生的致命错误
E_CORE_WARNING         - PHP期间发生的警告(非致命错误),初次启动
E_COMPILE_ERROR        - 致命的编译时错误
E_COMPILE_WARNING      - 编译时警告(非致命错误)
E_USER_ERROR           - 用户生成的错误消息
E_USER_WARNING         - 用户生成的警告消息
E_USER_NOTICE          - 用户生成的通知消息
E_DEPRECATED           - 警告代码在将来的PHP版本中不起作用
E_USER_DEPRECATED      - 用户生成的弃用警告

error_reporting最常見的幾種組合設定:

E_ALL (显示所有错误,警告和通知,包括编码标准。)
E_ALL & ~E_NOTICE  (显示所有错误,通知除外)
E_ALL & ~E_NOTICE & ~E_STRICT  显示所有错误,通知和编码标准警告除外。)
E_COMPILE_ERROR|E_RECOVERABLE_ERROR|E_ERROR|E_CORE_ERROR  (仅显示错误)

相關推薦:php教學

#

以上是php怎麼打開錯誤日誌的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn