Apache和PHP日志文件在哪里?

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

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

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

php.ini检查这些设置:

  1. error_reporting = E_ALL | E_STRICT 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 

对我来说,这是一个令人愉快的解决方案。

您还可以为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 

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

如果使用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