我在Apache中运行了很多VirtualHosts,其中没有一个令人兴奋。有没有比为每个VirtualHost指定php_value error_log /var/log/www-site/error.log
更简单的方法?
每个VirtualHost都设置了ErrorLog:
<VirtualHost *:443>
DocumentRoot /var/www-site
ServerName site.me
ServerAlias www.site.me
CustomLog /var/log/www-site/access.log combined
ErrorLog /var/log/www-site/error.log
</VirtualHost>
在Apache中是否有一个设置,它允许您在默认情况下将PHP错误记录到Apache的错误日志文件,而不必指定它?
答案 0 :(得分:2)
据我所知,PHP无法访问Apache的ErrorLog指令,因此它无法自动将所有错误记录到同一位置。如果您能够使用它,您可能需要查看mod_macro(https://httpd.apache.org/docs/2.4/mod/mod_macro.html)。它自Apache 2.4.6起默认可用,但可以在较低版本上手动安装。
它允许您在一个地方定义错误日志行,然后在每个虚拟主机中包含所有错误日志行。
<强> error_macro.conf 强>
<Macro error_logs $site>
php_value error_log /var/log/$site/error.log
CustomLog /var/log/$site/access.log combined
ErrorLog /var/log/$site/error.log
</Macro>
在每个VirtualHost中
Use error_logs www-site