2010-06-09 17 views
5

Bu forum sayesinde, PHP başlık işlevinin aslında Apache sunucusuna değil, yalnızca istemciye başlık göndermediğini öğrendim.PHP Force Apache hatası

Yapmak istediğim, 500 hatası oluşturmak ve Apache'nin ilgili sayfasını görüntülemesine izin vermek. Bunu zorlamanın bir yolu var mı?

Şimdiden teşekkürler! (ve allez les bleus!)

+0

Hmm, Don Bunun mümkün olup olmadığını bilmiyorum. Bunu ne için yapmak istiyorsun ve hangi noktada 500 üretmek istiyorsun? –

+1

Ve kime atıfta bulunduğun mavi insanlar? Oksijen eksikliğinden şikayet ediyorlar mı? ;) –

+0

aslında, bazı Apache özel hata sayfaları yaptık ve ben PHP hata işleme, ben (Apache bir olurdu) benzersiz bir hata sayfasına sahip olmak için temizliyorum ... Yazmaya çalışacağım kötü bir .htaccess yönergesi (ya da amaç üzerinde yanlış bir şey yapmanın nasıl ...) ve yaklaşık 12 Temmuz'da hakkında daha fazla şey duyacağınızı sanırım;) – Rolf

cevap

3

geçersiz .htaccess yönergesi ile bir 500.

Örneğin bir url neden olan bir URL'ye bir yönlendirme yapın.

+0

teşekkürler, doğru olanı deneyeceğim şimdi Hata: – Rolf

+1

I dosya RewriteRule^hata \ php $ /force_error_500.php [NC, burada R = 500] (force_error_500.php mevcut değil) başlık ("Konum de .htaccess koymak için çalışılmıştır. pHP '); neden sadece bir 404 ... Neden bir noktayı özledim sanırım :( – Rolf

+0

Evet ... bir INVALID .htaccess dosyası oluşturun. Sizinki geçerli biriydi :) – zaf

4

Orada tarayıcıya 500 Hatası göndermenin bir yolu, ama sayfayı kendiniz sağlamak zorundasınız:

<?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

Cevabınız için teşekkürler, ama Apache hata sayfalarını kullanmam gerekiyor ... – Rolf

0

Sadece kırık bir cgi script:

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