似乎我不能让错误日志在我的服务器上工作,我已经设置了我的虚拟主机,就像这个描述like suggested here。
<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错误日志文件,并具有与其他两个日志文件相同的权限。
我还尝试根据this guide在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配置在其他服务器上运行得非常完美。
发布于 2012-09-24 22:17:05
可能是由于/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-24 22:38:50
在php脚本中键入:
error_reporting(E_ALL);
ini_set('display_errors', true);而不是打印出错误和警告
发布于 2012-09-24 22:21:29
尝试PHP日志的默认位置: /var/log/php.log
https://stackoverflow.com/questions/12566117
复制相似问题