首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在apache上没有php错误记录

问在apache上没有php错误记录
EN

Stack Overflow用户
提问于 2012-09-24 21:32:01
回答 3查看 7K关注 0票数 3

似乎我不能让错误日志在我的服务器上工作,我已经设置了我的虚拟主机,就像这个描述like suggested here。

代码语言:javascript
复制
<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文件和脚本中设置日志。

代码语言:javascript
复制
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配置在其他服务器上运行得非常完美。

EN

回答 3

Stack Overflow用户

发布于 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用户所有。

票数 1
EN

Stack Overflow用户

发布于 2012-09-24 22:38:50

在php脚本中键入:

代码语言:javascript
复制
error_reporting(E_ALL);
ini_set('display_errors', true);

而不是打印出错误和警告

票数 1
EN

Stack Overflow用户

发布于 2012-09-24 22:21:29

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

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/12566117

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档