我在共享主机上,有cPanel, Apache, PHP是由FastCGI运行的。PHP在哪里存储错误日志?

是否有其他方法可以在共享主机环境中找到错误日志,而不必通过整个站点结构来查找error_log文件?

我可以访问PHP .ini文件(我使用PHP 5.2.16版本)。


当前回答

WordPress

当WP_DEBUG_LOG设置为true时,WordPress会将error_log()消息直接指向/wp-content/debug.log。

请参阅WordPress文档中的WP_DEBUG_LOG

其他回答

尝试phpinfo()并检查“error_log”

Linux

php --info | grep error 

终端将输出错误日志位置。

窗户

php --info | findstr /r /c:"error_log"

命令提示符将输出错误日志位置。

命令,设置日志的位置

打开php.ini并添加以下行:

error_log = /log/myCustomLog.log

感谢chelmertz和Boom对这个问题的评论。

在php.ini文件中设置error_log变量时应使用绝对路径,否则错误日志将根据相对路径存储。

error_log = /var/log/php.errors

其他解决方案是编写简单的脚本,从目录树中列出所有错误日志文件。

无论你想要它在哪里,如果你在函数调用中设置它:

error_log($errorMessageforLog . "\n", 4, 'somePath/SomeFileName.som');

对于PHP-FPM,只需搜索配置文件error_log:

cat /etc/php-fpm.d/www.conf | grep error_log

php_admin_value[error_log] = /var/log/php-fpm/www-error.log