Apache 和 PHP 日志文件在哪里?

Sta*_*ann 270 php apache2 log

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

mis*_*ben 375

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

这可以在/etc/php5/apache2/php.ini.


小智 74

检查这些设置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
    
    Run Code Online (Sandbox Code Playgroud)

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

tail /var/log/php_errors.log
Run Code Online (Sandbox Code Playgroud)

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

  • 还需要一个步骤来重新启动 apache 以使设置生效 (5认同)
  • 保持紧张:`chmod 640 /var/log/php_errors.log` (2认同)

ywa*_*ier 27

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

ErrorLog ${APACHE_LOG_DIR}/[your-vhost]-error.log
Run Code Online (Sandbox Code Playgroud)

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

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

sudo tail -f /var/log/apache2/error.log
Run Code Online (Sandbox Code Playgroud)

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