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

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

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


当前回答

对于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

其他回答

默认情况下,PHP似乎不会在任何地方记录错误。在我看到的所有安装中,php.ini中的error_log键都被注释掉了。

通常我:

寻找php.ini文件。找到php . ini。 在这些文件中搜索error_reporting值; 它应该被设置为PHP日志级别的任意组合。 例如:E_ALL & ~E_DEPRECATED & ~E_STRICT 检查error_log值,确保它指向一个实际的位置,没有被注释掉。 默认值没有给出完整的路径,只有一个文件名,我不知道这个路径通常解析到哪里。可能/var/log/.

就像这样:

sudo locate error.log | xargs -IX grep -iH "errorlog" X

or

sudo locate error_log | xargs -IX grep -iH "errorlog" X

or

sudo find / -iname "error?log" 2>/dev/null | xargs -IX grep -iH "errorlog" X

如果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(); ?>

如果您在谷歌计算引擎中,也可以是/var/log/apache2/error.log。

你可以这样看尾巴:

tail -f /var/log/apache2/error.log

在共享的cPanel环境中,如果你的主机提供商没有在cPanel仪表板中提供任何选项,你就无法找到错误日志。你可以搜索“错误”,看看你的提供商是否有任何错误。

否则,您通常会在public_html文件中找到一个名为“error_log”的文件,其中记录了所有PHP错误。