3

似乎我无法在我的服务器上进行错误日志记录,我已经按照这里建议的描述设置了我的虚拟主机。

<VirtualHost *:80>
   ServerAdmin admin@server.com
   DocumentRoot /var/www/html
   ServerName www.server.com
   ServerAlias server.com
   LogFormat combined
   ErrorLog /var/log/apache2/server.com-error_log
   TransferLog /var/log/apache2/server.com-access_log
   php_flag log_errors on
   php_flag display_errors off
   php_value error_reporting 6143
   php_value error_log /var/log/apache2/server.com-php-error.log
   ...
</VirtualHost>

正确写入访问和错误日​​志,创建php错误日志文件并与其他两个日志文件具有相同的权限。

我还尝试根据本指南在 php.ini、.htaccess 文件和脚本中设置日志记录。

php -v
 PHP 5.2.10-2ubuntu6.10 with Suhosin-Patch 0.9.7 (cli) (built: May  2 2011 23:24:44) 
 Copyright (c) 1997-2009 The PHP Group
 Zend Engine v2.2.0, Copyright (c) 1998-2009 Zend Technologies

还有其他地方可以查吗?vHost 配置在其他服务器上完美运行。

4

3 回答 3

1

输入您的 php 脚本:

error_reporting(E_ALL);
ini_set('display_errors', true);

比您打印的错误和警告

于 2012-09-24T14:38:50.210 回答
1

可能是因为权限问题/var/log/apache2。考虑到 PHP 作为 apache 模块运行,所以它作为www-data用户运行(至少在 ubuntu 中)。因此,您需要该用户至少/var/log/apache2对日志文件具有执行权限和写入权限,或者更好的是,具有执行和写入权限/var/log/apache2(以便能够在需要时创建新的日志文件)。

因此,您可以将 php 日志保存到另一个文件夹,或使其可由www-data用户写入(在后一种情况下,您也可以编辑/etc/logrotate.d/apache2文件,以便轮换后的新日志文件归www-data用户所有。

于 2012-09-24T14:17:05.273 回答
0

尝试 PHP 日志的默认位置:/var/log/php.log

于 2012-09-24T14:21:29.353 回答