nginx與apache不一樣,在apache中可以直接指定php的錯誤日誌,那樣在php執行中的錯誤資訊就直接輸入到php的錯誤日誌中,可以方便查詢。
在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下php-fpm不記錄php錯誤日誌的方法:
1,修改php-fpm.conf中的配置,如果沒有請增加:
複製** **如下:
[global]
; note: the default prefix is /usr/local/php/var
error_log = log/php_error_log
[www]
catch_workers_output = yes
2.修改php.ini中配置,沒有則增加:
複製** **如下:
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」中了
如果出現:
複製** **如下:
[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'
最後看看效果:
PHP FPM 輸出PHP錯誤日誌
nginx是乙個web伺服器,因此nginx的access日誌只有對訪問頁面的記錄,不會有php 的 error log資訊。nginx把對php的請求發給php fpm fastcgi程序來處理,預設的php fpm只會輸出php fpm的錯誤資訊,在php fpm的errors log裡也看不到...
日誌 php 配置優化 php fpm配置解讀
php fpm是乙個php fastcgi管理器,php fpm.conf配置檔案用於控制php fpm管理程序的相關引數,比如工作子程序的數量 執行許可權 監聽埠 慢請求等等。我們在編譯安裝php的時,在.configure的時候帶 enable fpm引數即可開啟php fpm。php fpm配...
開啟php fpm php錯誤日誌
進行如下的設定就能檢視到nginx下php fpm不記錄php錯誤日誌的方法 1,修改php fpm.conf中的配置,如果沒有請增加 複製 如下 global error log log php error log www catch workers output yes 2.修改php.ini中...