error_log?
在一台运行Apache和PHP 5的Linux服务器上,我们有多个具有单独日志文件的虚拟主机。我们似乎无法区分虚拟主机之间的php error_log
。error_log?
在httpd.conf
的<Location>
中重写此设置似乎没有任何作用。
有没有办法让每个虚拟主机都有单独的php error_logs
?
要设置阿帕奇(不是PHP)登录,要做到这一点最简单的方法是做:
<VirtualHost IP:Port>
# Stuff,
# More Stuff,
ErrorLog /path/where/you/want/the/error.log
</VirtualHost>
如果没有领先的IT假定“/”是相对的。
的默认行为是error_log中()输出到Apache的错误日志。如果没有发生这种情况,请检查您的php.ini设置是否包含error_log指令 - 不要使用当前虚拟主机的Apache日志文件。
我会检查。我只是想知道,如果我们希望开发人员有机会调试他们的代码而不给他们提供可能包含其他敏感数据的apache错误日志,那么是否仍然可以将apache和php错误日志分开。 – 2008-08-01 22:31:54
我通常只是在我正在处理的域上的.htaccess
文件或vhost.conf
中指定此项。将其添加到以下文件之一:
php_admin_value error_log "/var/www/vhosts/example.com/error_log"
任何人都可以评论`php_admin_value`和`php_value`之间的区别吗? – 2014-07-04 01:31:08
我的Apache在httpd.conf中有类似的东西。只需更改ErrorLog和CustomLog设置
<VirtualHost myvhost:80>
ServerAdmin [email protected]
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
添加到您的VirtualHost配置?
你可以尝试:
<VirtualHost myvhost:80>
php_value error_log "/var/log/httpd/vhost_php_error_log"
</Virtual Host>
,但我不知道,如果是去工作。我尝试在我的网站上没有成功。
是的,你可以试试,
php_value error_log "/var/log/php_log"
在
.htaccess
,或者你可以有用户在其剧本的开头使用ini_set()
如果他们希望有记录。
另一个选择是启用脚本以便在脚本文件夹中默认为php.ini
,然后转到用户/主机的根文件夹,然后转到服务器的根目录或类似的地方。这将允许主机添加他们自己的php.ini
值和他们自己的error_log
位置。
php_value error_log "/var/log/httpd/vhost_php_error_log"
它适用于我,但我必须更改日志文件的权限。
或Apache会将日志写入其error_log
。
请勿将error_log
设置为您的syslog
材料所在的位置eg /var/log/apache2
,因为它们的错误将被ErrorLog
拦截。相反,请在您的项目文件夹中创建subdir
日志,并在php_value
error_log "/path/to/project/logs"
中创建subdir
。这适用于.htaccess
文件和虚拟主机。另外,还要确保你把php_flag
log_errors
上
如果有人来寻找它应该是这样的:
<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
这是Apache的错误日志,这是独立于PHP错误日志(请参阅其他评论) – thelem 2010-11-18 07:48:02
PHP的错误日志默认为Apache的错误日志。 – helloandre 2012-01-03 19:00:33
相对于什么?它写入的`httpd.conf`的目录,或者? – mb21 2013-09-03 16:11:12