我在共享主机上,有cPanel, Apache, PHP是由FastCGI运行的。PHP在哪里存储错误日志?
是否有其他方法可以在共享主机环境中找到错误日志,而不必通过整个站点结构来查找error_log文件?
我可以访问PHP .ini文件(我使用PHP 5.2.16版本)。
我在共享主机上,有cPanel, Apache, PHP是由FastCGI运行的。PHP在哪里存储错误日志?
是否有其他方法可以在共享主机环境中找到错误日志,而不必通过整个站点结构来查找error_log文件?
我可以访问PHP .ini文件(我使用PHP 5.2.16版本)。
当前回答
因为某种原因,我把它存储在:
/ var / log / php-errors日志。
我使用的是Ubuntu Server 16.04 (Xenial Xerus)和PHP 7.1.28。
其他回答
如果您从源代码构建Apache和PHP,那么错误日志默认生成在${Apache安装目录}/logs/error_log,即通常为/usr/local/apache2/logs/error_log。
否则,如果您已经从存储库中安装了它,则会在/var/log/apache2/error_log中找到它。
你也可以在php.ini中设置路径,并通过调用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(); ?>
WordPress
当WP_DEBUG_LOG设置为true时,WordPress会将error_log()消息直接指向/wp-content/debug.log。
请参阅WordPress文档中的WP_DEBUG_LOG
Linux
php --info | grep error
终端将输出错误日志位置。
窗户
php --info | findstr /r /c:"error_log"
命令提示符将输出错误日志位置。
命令,设置日志的位置
打开php.ini并添加以下行:
error_log = /log/myCustomLog.log
感谢chelmertz和Boom对这个问题的评论。
无论你想要它在哪里,如果你在函数调用中设置它:
error_log($errorMessageforLog . "\n", 4, 'somePath/SomeFileName.som');