繁体   English   中英

没有php错误登录apache

[英]no php error logging on apache

好像我无法在我的服务器上运行错误日志工作,我已经设置了我的虚拟主机,就像这里的建议一样

<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配置在其他服务器上完美运行。

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

所以你可以将php日志保存到另一个文件夹,或者让它由www-data用户写入(在后一种情况下,你也可以编辑/etc/logrotate.d/apache2文件,以便旋转后新的日志文件由www-data用户。

输入你的php脚本:

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

比你得到你的错误和警告打印

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM