Apache和PHP日志文件在哪里?


228

我已经在Ubuntu 10.10桌面版上安装了Apache,PHP和MySQL,并且运行正常。
除了我不知道在哪里寻找Apache或PHP日志文件。

Answers:


315

默认情况下,/var/log/apache2/error.log

可以在中配置/etc/php5/apache2/php.ini


是的 得到它了。在Windows上有点不同。
斯坦,2010年

1
Apache日志可以轮换使用,因此您可能需要检查所有 error.log.*文件
nuoritoveri

@misterben您可以帮助我找到为centOS 7启用相同的错误日志吗?任何想法?
Red Bottle

unix.stackexchange.com/a/269090/2799具有其他发行版的信息
misterben

如果未安装apache怎么办,只是php?
密尔(Mils)

67

检查以下设置php.ini

  1. error_reporting = E_ALL | E_STRICT (如推荐用于php.ini中的开发)
  2. error_log = /var/log/php_errors.log
  3. 然后手动创建日志文件

    touch /var/log/php_errors.log
    chown www-data: /var/log/php_errors.log
    chmod +rw /var/log/php_errors.log
    

现在您可以通过这种方式查看PHP错误

tail /var/log/php_errors.log

对我来说,这是一个很好的解决方案。


4
还需要重新启动apache才能使设置生效
rbawaskar,2014年

保持紧张:chmod 640 /var/log/php_errors.log
berbt

26

您还可以为Apache中的每个VirtualHost定义一个特定的错误日志文件。如果您在VirtualHost中定义/etc/apache2/sites-available/并启用了任何VirtualHost /etc/apache2/sites-enabled(通过启用sudo a2ensite [your-virtualhost-definition-file]),则可以通过在VirtualHost配置内添加以下行来更改错误日志:

ErrorLog ${APACHE_LOG_DIR}/[your-vhost]-error.log

如果您有很多虚拟主机,并且想在报告错误的位置进行拆分,这可能会很有用。

另外,您可以通过发出以下命令来实时查看错误日志(如果与默认日志文件不同,则可以使用自己的日志文件):

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

这在进行实时调试时特别有用。


有用!如果我error_log = syslog在php.ini中注释掉
mmv-ru

2

如果使用Webmin / Virtualmin设置了Apache,则每个VirtualHost都有一个单独的文件夹。

它是

~/logs

每个VirtualHost用户的文件夹。

这是两个文件:

~/logs/access_log

~/logs/error_log

所以他们是

/home/onedomain/logs/access_log

/home/onedomain/logs/error_log

/home/anotherdomain/logs/access_log

/home/anotherdomain/logs/error_log

...

等等

要查看每个特定域的日志文件,请以该主机名的VirtualHost所有者用户身份登录并运行

tail -f ~/logs/error_log

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.