輸出php錯誤日誌的方法:1、修改php-fpm.conf中的catch_workers_output和error_log設定;2、修改php.ini設定檔;3、重啟php-fpm。
本文操作環境:windows10系統、php 7&&nginx 1.14、thinkpad t480電腦。
我們都知道nginx是一個web伺服器,因此nginx的access日誌只有對存取頁面的記錄,而不會有php 的 error log資訊。 nginx把對php的請求發給php-fpm fastcgi進程來處理,預設的php-fpm只會輸出php-fpm的錯誤訊息,在php-fpm的errors log裡也看不到php的errorlog。
出現這種情況的原因是php-fpm的設定檔php-fpm.conf中預設是關閉worker進程的錯誤輸出的,並且直接把他們重定向到/dev/null,所以我們在nginx的error log 和php-fpm的errorlog都看不到php的錯誤日誌。
但是這樣的話我們調試起來就會很痛苦,那我們該如何解決這個問題呢?下面就讓我們一起來看看吧!
1、修改php-fpm.conf中配置沒有則增加
catch_workers_output = yes error_log = log/error_log
2、修改php.ini中配置,沒有則增加
log_errors = On error_log = "/usr/local/lnmp/php/var/log/error_log" error_reporting=E_ALL&~E_NOTICE
3、重啟php-fpm
當PHP執行錯誤時就能看到錯誤日誌在"/usr/local/lnmp/php/var/log/error_log"中了。
推薦學習:php培訓
以上是如何輸出php錯誤日誌的詳細內容。更多資訊請關注PHP中文網其他相關文章!