2010-06-09 56 views
5

感谢这个论坛,我了解到PHP头函数实际上并不会将头部发送到Apache服务器,而只是发送给客户端。PHP Force Apache错误

我想要做的是产生一个错误500,让Apache显示其相应的页面。有没有办法强制它?

提前致谢! (和allez蓝军!)

+0

嗯,唐不知道这是否可能。你想要做什么,以及你想在哪一点生成500? – 2010-06-09 09:08:40

+1

你指的是那些蓝色的人?他们是否缺氧? ;) – 2010-06-09 09:10:20

+0

实际上,我们做了一些Apache自定义错误页面,并且我正在清理PHP错误处理,以便有一个唯一的错误页面(这将是Apache的)... 我会尝试写一个糟糕的.htaccess指令(或如何学习做故事的目的...) 和关于bleus,我想你会听到更多关于它在7月11日;) – Rolf 2010-06-09 09:18:51

回答

3

做一个重定向到导致500

例如,一个具有无效的.htaccess指令的网址的URL。

+0

谢谢,我会尝试这个权利现在! – Rolf 2010-06-09 09:20:02

+1

我试图把在.htaccess在文件重写规则 ^错误\ .PHP $ /force_error_500.php [NC,R = 500] (force_error_500.php不存在) 头('位置:错误。 PHP');导致只有一个404 ... 我想我错过了一个点:( – Rolf 2010-06-09 09:54:29

+0

是的...创建一个无效.htaccess文件。你的是一个有效的:) – zaf 2010-06-09 09:56:17

4

有发送500错误到浏览器的一种方式,但你必须提供自己的页面:

<?php 
header('HTTP/1.1 500 Internal Server Error'); 
echo <<<ERRORTEXT 
The server encountered an unexpected condition which prevented it 
from fulfilling the request. 
ERRORTEXT; 
// also notify server operator, maybe? 
exit; 
?> 
+0

感谢您的回复,但我需要使用Apache错误页面... – Rolf 2010-06-09 09:55:46

0

只是做一个破碎的CGI脚本:

// Don't include stdio 
int main() { 
    printf("This won't work.\n"); 
    return 0; 
}