最近在本地搭建的LNMP的開發環境。爲了開發的時候不影響前端的正常開發就屏蔽的PHP裏面php.ini中的一些錯誤提示。可是這樣一來,就影響到了後端開發的一些問題好比不能及時調試開發中的一些問題。php
nginx與apache不同,在apache中能夠直接指定php的錯誤日誌,那樣在php執行中的錯誤信息就直接輸入到php的錯誤日誌中,能夠方便查詢。html
在nginx中事情就變成了這樣: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的錯誤日誌。nginx
因此咱們要進行以下的設置就能查看到nginx下php-fpm不記錄php錯誤日誌的方法:apache
1,修改php-fpm.conf中的配置,若是沒有請增長:後端
001
002
003
004
005
|
[global]
; Note: the default prefix is
/usr/local/php/var
error_log = log
/php_error_log
[www]
catch_workers_output =
yes
|
2.修改php.ini中配置,沒有則增長bash
001
002
003
|
log_errors = On
error_log =
"/usr/local/php/var/log/error_log"
error_reporting=E_ALL&~E_NOTICE
|
3.重啓php-fpm,
當PHP執行錯誤時就能看到錯誤日誌在」/usr/local/lnmp/php/var/log/php_error_log」中了php-fpm
001
002
003
004
005
006
|
[root@localhost etc]
# service php-fpm restart
Gracefully shutting down php-fpm .
done
Starting php-fpm [17-Apr-2014 18:40:52] ERROR: [
/usr/local/php/etc/php-fpm
.conf:5] unknown entry 'catch_workers_
[17-Apr-2014 18:40:52] ERROR: failed to load configuration
file
'/usr/local/php/etc/php-fpm.conf'
[17-Apr-2014 18:40:52] ERROR: FPM initialization failed
failed
|
那請在第一步的時候,認真將配置寫入相對應的組中,否則就出現上面的:ERROR: [/usr/local/php/etc/php-fpm.conf:5] unknown entry ‘catch_workers_output’spa
最後看看效果:.net