php 線上環境開啟日志模塊

最近在開發項目中,由于關閉了日志在瀏覽器顯示,線上出現問題后,無法根據日志來進行精細化調試,后來查到可以直接開啟日志,實時打印生產環境的日志,方法如下:

修改php.ini
 error_reporting  =  E_ALL                   ;將會向PHP報告發生的每個錯誤   
 display_errors = Off                        ;不顯示滿足上條 指令所定義規則的所有錯誤報告   
 log_errors = On                             ;決定日志語句記錄的位置   
 log_errors_max_len = 1024                   ;設置每個日志項的最大長度   
 error_log = /usr/local/error.log                ;指定產生的 錯誤報告寫入的日志文件位置  

" role="presentation" style="position: relative;">
重新啟動Web服務器即可

這樣,在執行PHP的任何腳本文件時,所產生的所有錯誤報告都不會在瀏覽器中顯示,而會記錄在自己指定的錯誤日志/usr/local/error.log中。

注意事項
  • 一定要確保將這個文件存放在文檔根目錄之外,以減少遭到攻擊的可能。

  • 該文件一定要讓PHP腳本的執行用戶(Web服務器進程所有者)具有寫權限。

  • 除了可以記錄滿足error_reporting所定義規則的所有錯誤,還可以使用PHP中的error_log()函數,送出一個用戶自定義的錯誤信息。

error_log()的使用
bool error_log ( string message [, int message_type  [, string destination [, string extra_headers]]] )  

此函數會送出錯誤信息到Web服務器的錯誤日志文件、某個TCP服務器或到指定文件中。該函數執行成功則返回TRUE,失敗則返回FALSE。第一個參數message 是必選項,即為要送出的錯誤信息。如果僅使用這一個參數,會按配置文件php.ini中所設置的位置處發送消息。第二個參數message_type為整數值:0表示送到操作系統的日志中;1則使用PHP的Mail()函數,發送信息到某E-mail處,第四個參數extra_headers亦會用到;2則將錯誤信息送到TCP 服務器中,此時第三個參數destination表示目的地IP及Port;3則將信息存到文件destination中。
如果以登入Oracle數據庫出現問題的處理為例,該函數的使用如下所示:

<?php      
     if(!Ora_Logon($username, $password)){     
          error_log("Oracle數據庫不可用!", 0);        //將錯誤消息寫入到操作系統日志中   
     }   
     if(!($foo=allocate_new_foo()){   
         error_log("出現大麻煩了!", 1, ". mydomain.com");   //發送到管理員郵箱中   
     }  
     error_log("搞砸了!",   2,   "localhost:5000");     //發送到本機對應5000端口的服務器中   
     error_log("搞砸了!",   3,   "/usr/local/errors.log");  //發送到指定的文件中   
 ?>  

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容

  • Spring Cloud為開發人員提供了快速構建分布式系統中一些常見模式的工具(例如配置管理,服務發現,斷路器,智...
    卡卡羅2017閱讀 134,948評論 18 139
  • error code(錯誤代碼)=2000是無效的像素格式。error code(錯誤代碼)=2001是指定的驅動...
    Heikki_閱讀 1,860評論 0 4
  • error code(錯誤代碼)=0是操作成功完成。error code(錯誤代碼)=1是功能錯誤。error c...
    Heikki_閱讀 3,452評論 1 9
  • php.ini設置,上傳大文件: post_max_size = 128Mupload_max_filesize ...
    bycall閱讀 6,829評論 3 64
  • 即便窮途 不成陌路 從西到東,從南至北 我們身無分文 像高舉旗幟的革命英雄 一路走,一路歌唱 內心強大,無堅不摧 ...
    艽艽艽艽閱讀 224評論 0 2