如何更改php-fpm.conf(或php.ini)以便将所有错误/警告/ ...写入stderr(或者stdout)?
我使用php5-fpm
运行daemonize = no
,并希望查看终端中的所有错误。
答案 0 :(得分:2)
解决方案是设置......
; 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.
; Note: on highloaded environement, this can cause some delay in the page
; process time (several ms).
; Default Value: no
catch_workers_output = yes
答案 1 :(得分:0)
我不认为你能做到这一点,至少在我从你的问题中理解它的方式。
我会建议您通过终端实时查看php
第1步 - 将所有错误写入文件
更改您的php.ini文件,将每个错误写入文件/logs/phpLogs
第2步 - 错误'实时'使用tail
从命令行运行tail命令
tail -f /logs/phpLogs
第3步 - 可选择使用error_log
使用php error_log命令
error_log(print_r(debug_backtrace(), true ))
编辑 :(刚刚找到)我的anwser类似于How to log errors and warnings into a file
答案 2 :(得分:0)
是的,有可能不弄乱.ini配置。
使用Unix descriptor,例如以下示例之一:
php myscript.php 2> errors.log
或者通过使用hashbang,必须将文件设置为可执行文件:
./myscript 2> errors.log
从那里将记录所有错误。
要仅用errors.log
编写,请在您的php脚本中的任何位置使用fwrite
:
<?php
fwrite(STDERR, "Some debug infos\n");
仅出现在errors.log
中。在编写快速刷新脚本时很有用。
请注意,重新启动时会清除所有错误。
要监视错误,请使用tail -f
或watch cat
watch cat errors.log