每个虚拟主机的error_log?
在一台运行Apache和PHP 5的Linux服务器上,我们得到了多个带有单独日志文件和所有东西的虚拟主机。 我们似乎无法区分虚拟主机的唯一情况是php error_log 。 
 覆盖httpd.conf的<Location>中的这个设置似乎没有任何作用。 
 我忽略了什么? 有没有办法让每个虚拟主机有单独的php error_logs ? 
要设置Apache ( 而不是PHP )日志,最简单的方法是:
 <VirtualHost IP:Port> # Stuff, # More Stuff, ErrorLog /path/where/you/want/the/error.log </VirtualHost> 
如果没有前导“/”,则认为是相对的。
Apache错误日志页面
如果有人看起来应该是这样的:
 <VirtualHost *:80> ServerName example.com DocumentRoot /var/www/domains/example.com/html ErrorLog /var/www/domains/example.com/apache.error.log CustomLog /var/www/domains/example.com/apache.access.log common php_flag log_errors on php_flag display_errors on php_value error_reporting 2147483647 php_value error_log /var/www/domains/example.com/php.error.log </VirtualHost> 
 这是仅在开发display_error时才开发的。 您会注意到,Apache错误日志与PHP错误日志是分开的。 好东西在php.error.log 。 
 看看这里的error_reporting键http://www.php.net/manual/en/errorfunc.configuration.php#ini.error-reporting 
 我通常只是在.htaccess文件或我正在处理的域中的vhost.conf指定。 添加到这些文件之一: 
 php_admin_value error_log "/var/www/vhosts/example.com/error_log" 
默认行为是将error_log()输出到Apache错误日志。 如果没有发生这种情况,请检查您的php.ini设置是否为error_log指令 – 不要使用当前虚拟主机的Apache日志文件。
 不要把error_log设置到你的syslog东西去, eg /var/log/apache2 ,因为它们的错误会被ErrorLog拦截。 相反,在日志的项目文件夹中创build一个php_value ,并执行php_value error_log "/path/to/project/logs" 。 这适用于.htaccess 文件和虚拟主机 。 还要确保你把php_flag log_errors放在上面 
我的Apache在httpd.conf中有类似的东西。 只需更改ErrorLog和CustomLog设置
 <VirtualHost myvhost:80> ServerAdmin webmaster@dummy-host.example.com DocumentRoot /opt/web ServerName myvhost ErrorLog logs/myvhost-error_log CustomLog logs/myvhost-access_log common </VirtualHost> 
 您是否尝试将php_value error_log '/path/to/php_error_log到您的VirtualHostconfiguration中? 
是的,你可以试试,
 php_value error_log "/var/log/php_log" 
 在.htaccess或者如果用户想要logging日志,可以让用户在脚本的开头使用ini_set() 。 
 另一个select是启用脚本默认到脚本文件夹中的php.ini ,然后转到用户/主机的根文件夹,然后到服务器的根目录或类似的东西。 这将允许主机添加自己的php.ini值和他们自己的error_log位置。 
 php_value error_log "/var/log/httpd/vhost_php_error_log" 
它适用于我,但我必须更改日志文件的权限。
 否则Apache会将日志写入其error_log 。 
你可以尝试:
  <VirtualHost myvhost:80> php_value error_log "/var/log/httpd/vhost_php_error_log" </Virtual Host> 
但我不知道是否会工作。 我尝试在我的网站上没有成功。