Apache和PHP的日志文件在哪里?

我在Ubuntu 10.10桌面版上安装了Apache、PHP和MySQL,并且一切正常运行。
唯一的问题是我不知道在哪里查找Apache或PHP的日志文件。
5个回答

默认情况下,错误日志位于/var/log/apache2/error.log。
这可以在/etc/php5/apache2/php.ini中进行配置。

好的,明白了。在Windows上确实有些不同。 - Stann
1Apache日志可以进行轮转,所以你可能想要检查所有的error.log.*文件。 - nuoritoveri
@misterben你能帮我找到在CentOS 7上启用相同的错误日志吗?有什么想法吗? - Red Bottle
https://unix.stackexchange.com/a/269090/2799 提供了其他发行版的信息。 - misterben
如果没有安装Apache,只有PHP呢? - mils

检查 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

这对我来说是一个令人满意的解决方案。

6还需要一步来重新启动Apache,以使设置生效。 - rbawaskar
2保持紧密:chmod 640 /var/log/php_errors.log - berbt

您还可以为Apache中的每个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

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

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

如果Apache是使用Webmin/Virtualmin进行设置的,那么每个VirtualHost都有一个单独的文件夹。
它是每个VirtualHost用户的“~/logs”文件夹。
这里有两个文件:
“~/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