2010-06-09 82 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; 
}