【发布时间】:2012-02-15 19:38:44
【问题描述】:
我有一个 PHP 脚本通过 Apache 运行良好,但在 CLI 中运行时失败,所以我想了解发生了什么。
为此,我想查看错误日志,但我设置的 CLI 错误日志不起作用。我已经在正确的 php.ini 文件中设置了这个,当我通过命令行获取错误日志详细信息时确认:
php -i | grep error
结果:
display_errors => Off => Off
display_startup_errors => Off => Off
error_append_string => no value => no value
error_log => /var/log/php_error_log => /var/log/php_error_log
error_prepend_string => <font color=ff0000> => <font color=ff0000>
error_reporting => 30711 => 30711
html_errors => Off => Off
ignore_repeated_errors => Off => Off
log_errors => On => On
log_errors_max_len => 1024 => 1024
track_errors => Off => Off
xmlrpc_error_number => 0 => 0
xmlrpc_errors => Off => Off
suhosin.disable.display_errors => Off => Off
suhosin.sql.bailout_on_error => Off => Off
所以error_log 和log_errors 都已设置。但是,实际上并没有保存任何日志。权限已到位。那会是什么呢?
我已阅读问题PHP CLI won't log errors,但我无法在其中找到解决方案。
【问题讨论】:
-
你确定运行php的用户对
/var/log/php_error_log有写权限吗? -
它确实有权写入,但问题是发生了重定向,在 CLI 中根本没有显示任何输出,也没有任何错误。
-
shell 重定向不应影响 PHP 的日志记录行为。你能发帖
ls -al /var/log/php_error_log吗?
标签: error-handling php