2010-05-18 64 views
2

我的网页发布500内部服务器错误。我已经在php.ini中打开E_ALL进行错误报告,并重新启动了httpd。我甚至使用error_reporting(E_ALL)error_reporting(-1),但仍然没有运气。有什么建议么?PHP不输出错误?

OS: CentOS5.5 
PHP: 5.2.6 
HTTPD: Apache/2.2.3 
+2

可能会得到更好的答案,询问这种过度的ServerFault:http://www.serverfault.com 这更是他们的盟友比SO的。 – 2010-05-18 03:34:09

+0

也许你是对的,只是想在这里检查,因为它似乎是一个PHP的问题。如果你们投票迁移,我也会(= – Rob 2010-05-18 03:41:11

回答

0

检查你的文档根error_log,和/或询问您的服务器的支持团队,其中错误记录(包括Apache和PHP)。

+0

)找不到错误日志,我有权访问root,我怎么找到这些位置? – Rob 2010-05-18 03:36:13

1

500内部服务器错误通常是由Apache配置文件中的问题引起的。它通常与您的实际PHP脚本没有任何关系。例如你的.htaccess文件。检查你的服务器日志,如果可以的话,把这里列出的错误作为你的问题的一部分发布,这样我们可以更好地评估你确切的问题。

+0

实际上,如果错误报告关闭,PHP将输出内部服务器错误 – Rob 2010-05-18 03:33:54

+0

我从来没有见过或听说过这种情况发生...... – jordanstephens 2010-05-18 17:46:07

0

检查您的php.ini文件中的display_errors指令。它可能被设置为'关',这将禁用所有的错误报告。

+0

display_errors = on – Rob 2010-05-18 04:17:51

0

以下脚本也不会生成任何错误消息/日志。

<?php 
header($_SERVER['SERVER_PROTOCOL'].' 500 Internal server error'); 
echo 'Something went gaga'; 
?> 

然而访问日志将显示 “500” 响应代码(假设Apache默认的访问日志设置)。

搜索代码为“HTTP/1.1 500”,“500”或“标题(”并添加:

trigger_error('Peep', E_USER_NOTICE); // or error_log() 

这将产生该错误日志(条目与文件名和行号码)

0

的CentOS你说......你的错误日志可能是在/ var /日志/的httpd/

尝试尾-f /无功/日志/的httpd/error_log中的命令行和检查任何错误

+0

没有任何与脚本或PHP有关 – Rob 2010-05-18 12:39:34

0

把这个放在脚本的号码:

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

是的,没有工作。 – Rob 2010-05-18 12:38:47