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

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

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


当前回答

如果您从源代码构建Apache和PHP,那么错误日志默认生成在${Apache安装目录}/logs/error_log,即通常为/usr/local/apache2/logs/error_log。

否则,如果您已经从存储库中安装了它,则会在/var/log/apache2/error_log中找到它。

你也可以在php.ini中设置路径,并通过调用phpinfo()来验证它。

其他回答

在php.ini中配置错误日志文件时,可以使用绝对路径或相对路径。相对路径将基于生成脚本的位置进行解析,并且您将在拥有脚本的每个目录中获得一个日志文件。如果希望所有错误消息都保存在同一个文件中,请使用该文件的绝对路径。

请参阅错误处理函数。

WordPress

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

请参阅WordPress文档中的WP_DEBUG_LOG

你可以在文件管理器中查看日志文件夹。 检查public_html文件夹中的日志文件。 检查“php phpinfo()”文件以了解日志存储的位置。

如果PHP是apache2模块,PHP将错误日志存储在/var/log/apache2中。 共享主机通常将日志文件存储在根目录/日志子文件夹中。 但是…如果你可以访问php.ini文件,你可以这样做:

error_log = /var/log/php-scripts.log

根据rinogo的评论:如果您正在使用cPanel,您可能正在寻找的主日志文件(默认情况下)存储在

/usr/local/apache/logs/error_log

如果所有这些都失败了,您可以使用

<?php phpinfo(); ?>

在LAMP环境中,PHP错误默认指向下面这个文件。

/var/log/httpd/error_log

所有访问日志分为:

/var/log/httpd/access_log