2016年7月31日 星期日

PHP FPM 錯誤記錄不會寫到 error log ?

PHP FPM 預設會將  worker 的 stdout 和 stderr 丟到 /dev/null,
而不會寫到 error log (/var/log/php-fpm/error.log)
所以執行時,像 PHP 的語法錯誤,在 error log 便看不到。

若開發時,要在 error log 觀察這類錯誤,可在設定檔中將 catch_workers_output 設為 yes
$ vi /etc/php-fpm.d/www.conf
找到 catch_workers_output 設定,改為 yes
; Redirect worker stdout and stderr into main error log. If not set, stdout and
; stderr will be redirected to /dev/null according to FastCGI specs.
; Default Value: no
catch_workers_output = yes
重新讀取設定
$  systemctl reload php-fpm.service


參考:
nginx php-fpm 输出php错误日志  –  架构 - nginx.cn
PHP-FPM doesn't write to error log - Stack Overflow

沒有留言:

張貼留言