2023-06-11 分類: 網(wǎng)站建設(shè)
今天一PHP程序運行出現(xiàn)問題,想看看錯誤信息,但是Nginx環(huán)境如何查看PHP錯誤信息?常規(guī)做法是看log日志文件,但是首先要做的是能讓PHP把錯誤信息輸出到log文件里。原以為很簡單,直接在php.ini里設(shè)置下log日志文件路徑即可,但測試后發(fā)現(xiàn)這樣做是不行的。那問題在哪?
image.png
Nginx PHP 錯誤日志輸出到log文件的設(shè)置方法
通過查閱了一些相關(guān)的文章資料,原來主要根源在于php-fpm的配置文件php-fpm.conf。
php-fpm的配置文件php-fpm.conf中默認是關(guān)閉worker進程的錯誤輸出,直接把他們重定向到/dev/null,所以我們看不到php的錯誤日志。
要解決這一問題,只需設(shè)置下php-fpm.conf即可。我使用的關(guān)鍵代碼如下:
[global]
pid = /usr/local/php/var/run/php-fpm.pid
error_log = /usr/local/php/var/log/php-fpm.log
log_level = notice
[www]
; 下面這句不能少,記錄PHP執(zhí)行錯誤日志
catch_workers_output = yes
解釋:
1、error_log 是定義日志文件路徑
2、log_level = notice 不能少
3、catch_workers_output = yes 不能少
通過這樣設(shè)置后,php的錯誤信息就會直接寫入error_log定義的日志文件里了。
重啟php服務(wù),方法:
service php-fpm restart
試試有無效果?
上述方法無效?再按下面方法設(shè)置php.ini
網(wǎng)上不少文章說到還要設(shè)置php.ini的error_log路徑,但我測試發(fā)現(xiàn),php.ini的error_log路徑設(shè)置是沒有意義的,這就解釋了為什么一開始我只設(shè)置php.ini日志輸出路徑卻沒有效果的原因。也許是別人的php-fpm.conf設(shè)置與我不同,造成還需要設(shè)置php.ini的error_log路徑。網(wǎng)友們?nèi)绻l(fā)現(xiàn)我前面提到的設(shè)置方法不可行,那么可以再設(shè)置一下php.ini,關(guān)鍵代碼是如下三行:
log_errors = On
error_log = "/usr/local/php/var/log/php_errors.log"
error_reporting = E_ALL & ~E_NOTICE
解釋:
1、log_errors = On 不能少
2、error_log 設(shè)置日志文件路徑
3、error_reporting 的值設(shè)為 E_ALL & ~E_NOTICE
網(wǎng)站名稱:Nginx PHP 錯誤日志輸出到log文件的設(shè)置方法
分享路徑:http://m.rwnh.cn/news38/264438.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站導(dǎo)航、網(wǎng)頁設(shè)計公司、網(wǎng)站內(nèi)鏈、服務(wù)器托管、響應(yīng)式網(wǎng)站、自適應(yīng)網(wǎng)站
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)
猜你還喜歡下面的內(nèi)容