我在共享主机上,有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版本)。
当前回答
WordPress
当WP_DEBUG_LOG设置为true时,WordPress会将error_log()消息直接指向/wp-content/debug.log。
请参阅WordPress文档中的WP_DEBUG_LOG
其他回答
在命令行中输入cat <file location> | grep ErrorLog在httpd.conf文件中查找ErrorLog。例如:
cat /etc/apache2/httpd.conf | grep ErrorLog
输出:
# ErrorLog: The location of the error log file.
# If you do not specify an ErrorLog directive within a <VirtualHost>
ErrorLog "/private/var/log/apache2/error_log"
找到以ErrorLog开头的行,这就是答案。
注意:对于虚拟主机,您可以编辑虚拟主机文件httpd-vhosts.conf以指定不同的日志文件位置。
如何找到你的PHP错误日志在Linux:
sudo updatedb
[sudo] password for eric:
sudo locate error_log
/var/log/httpd/error_log
另一种等效的方法:
sudo find / -name "error_log" 2>/dev/null
/var/log/httpd/error_log
在php.ini中配置错误日志文件时,可以使用绝对路径或相对路径。相对路径将基于生成脚本的位置进行解析,并且您将在拥有脚本的每个目录中获得一个日志文件。如果希望所有错误消息都保存在同一个文件中,请使用该文件的绝对路径。
请参阅错误处理函数。
如果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(); ?>
无论你想要它在哪里,如果你在函数调用中设置它:
error_log($errorMessageforLog . "\n", 4, 'somePath/SomeFileName.som');