Error handling PHP在哪里存储错误日志?(php5、apache、fastcgi、cpanel)
我在共享主机上,有Cpanel,Apache,PHP由fastcgi运行。PHP在哪里存储错误日志 有没有其他方法可以在共享主机环境中找到错误日志,而不必通过整个站点结构来查找错误日志文件Error handling PHP在哪里存储错误日志?(php5、apache、fastcgi、cpanel),error-handling,php,Error Handling,Php,我在共享主机上,有Cpanel,Apache,PHP由fastcgi运行。PHP在哪里存储错误日志 有没有其他方法可以在共享主机环境中找到错误日志,而不必通过整个站点结构来查找错误日志文件 我可以访问php.ini(我使用的是php版本5.2.16)。尝试phpinfo()并检查“error\u log”在php.ini文件中设置error\u log变量时应使用绝对路径,否则,错误日志将根据相对路径存储 error_log = /var/log/php.errors 另一种解决方案是编写简单
我可以访问
php.ini
(我使用的是php版本5.2.16)。尝试phpinfo()
并检查“error\u log”在php.ini文件中设置error\u log变量时应使用绝对路径,否则,错误日志将根据相对路径存储
error_log = /var/log/php.errors
另一种解决方案是编写简单的脚本,列出目录树中的所有错误日志文件。PHP将错误日志存储在
/var/log/apache2
中(如果PHP是apache2模块)。
共享主机通常将日志文件存储在根目录/log
子文件夹中。
但是…如果您可以访问php.ini
文件,您可以执行以下操作:
error_log = /var/log/php-scripts.log
根据rinogo的评论:如果您使用的是cPanel,您可能要查找的主日志文件(默认情况下)存储在
如果所有其他操作都失败,您可以使用
<?php phpinfo(); ?>
在php.ini中配置错误日志文件时,可以使用绝对路径或相对路径。相对路径将根据生成脚本的位置进行解析,并且您将在包含脚本的每个目录中获得一个日志文件。如果希望所有错误消息都指向同一个文件,请使用该文件的绝对路径
请参阅此处的更多信息:在LAMP环境中,php错误默认指向下面的文件
/var/log/httpd/error_log
所有访问日志都属于:
/var/log/httpd/access_log
如果您从源代码构建了Apache和PHP,那么默认情况下,错误日志将在
${Apache install dir}/logs/error\u log
处生成,即通常/usr/local/apache2/logs/error\u log
。否则,如果您是从存储库安装的,您将在/var/log/apache2/error\u log
中找到它。您还可以在php.ini
中设置路径,并通过调用phpinfo()
如何在Linux上查找php错误日志:
eric@dev /var $ sudo updatedb
[sudo] password for eric:
eric@dev /var $ sudo locate error_log
/var/log/httpd/error_log
eric@dev /home/eric $ sudo find / -name "error_log" 2>/dev/null
/var/log/httpd/error_log
另一种等效方式:
eric@dev /var $ sudo updatedb
[sudo] password for eric:
eric@dev /var $ sudo locate error_log
/var/log/httpd/error_log
eric@dev /home/eric $ sudo find / -name "error_log" 2>/dev/null
/var/log/httpd/error_log
如果使用php5 fpm日志,则默认值应为
/var/log/php5-fpm.log
最好的方法是查看httpd.conf文件并查看默认值。它也可以被您的特定虚拟主机覆盖。我首先查看
/etc/httpd/conf/httpd.conf
或/etc/apache2/httpd.conf
并搜索错误日志。它可以列为/var/log/httpd/error\u log或/var/log/apache2/error\u log
,但也可以简单列为日志/error\u log
在本例中,它是一个相对路径,这意味着它将位于
/etc/httpd/logs/error\u log
下。如果仍然找不到它,请检查httpd.conf文件的底部,并查看虚拟主机包括在哪里。如果将其设置为函数调用,则它可能位于/etc/httpd/conf.d/中您希望它位于的任何位置:
错误日志($errorMessageforLog。“\n”,4,“somePath/SomeFileName.som”) 默认情况下,php不会在任何地方记录错误,php.ini中的
错误日志
键在我看到的所有安装中都被注释掉了
一般而言,我:
错误报告
值
应该将其设置为php日志级别的任何合并都足以满足您的需要
例如:E\u ALL&~E\u已弃用&~E\u STRICT
错误日志
值,确保它指向实际位置且未被注释掉
默认值没有给出完整路径,只有文件名,我不知道该路径通常解析到哪里。可能是/var/log/
如果您在google compute engine中,它也可以是
/var/log/apache2/error.log
您可以这样查看尾部:
tail -f /var/log/apache2/error.log
Linux
终端将输出错误日志位置
窗户
命令提示符将输出错误日志位置
设置日志位置的步骤
打开php.ini
并添加以下行:
error_log = /log/myCustomLog.log
谢谢你(对这个问题的评论)。
NGINX通常将其存储在/var/log/NGINX/error.log或access.log中。
(在任何情况下,在Ubuntu上)通过在命令行上运行
cat|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指令
ErrorLog“/private/var/log/apache2/error\u log”
找到以ErrorLog
开头的行,这就是你的答案
注意:对于虚拟主机,您可以编辑虚拟主机文件httpd vhosts.conf
以指定不同的日志文件位置。Wordpress
当wp\u debug\u log
设置为true时,Wordpress将error\u log()
消息定向到/wp content/debug.log
这很有帮助。sjas对问题的评论。所以我把它作为一个答案
cPanel错误日志位于:
eric@dev /var $ sudo updatedb
[sudo] password for eric:
eric@dev /var $ sudo locate error_log
/var/log/httpd/error_log
eric@dev /home/eric $ sudo find / -name "error_log" 2>/dev/null
/var/log/httpd/error_log
/usr/local/cpanel/logs/
/usr/local/apache/logs/
默认情况下,Apche日志位于:
/var/log/apache
或
/var/log/apache2
如果有人正在使用自定义日志位置,则可以通过运行以下命令进行检查:
cat/etc/apache2/conf/httpd.conf|grep ErrorLog
如果您遇到错误,认为apache2目录不存在,则可以通过以下方式运行此命令以查找正确的位置:
阿帕奇在哪里
或
我在哪里
sudo locate error.log | xargs -IX grep -iH "errorlog" X
sudo locate error_log | xargs -IX grep -iH "errorlog" X
sudo find / -iname "error?log" 2>/dev/null | xargs -IX grep -iH "errorlog" X