PHP hataları çıktısı değil?

7 Cevap

Benim web sayfası 500 Internal Server Error koyuyor. Ben php.ini hata raporlama için E_ALL açık ve httpd yeniden başlatılır ettik. Ben bile error_reporting(E_ALL) ve error_reporting(-1) ama yine de şans yok kullandım. Herhangi bir öneriniz?

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

7 Cevap

500 Internal Server Error genellikle Apache yapılandırma dosyalarında bir sorun nedeniyle oluşur. Genellikle gerçek PHP ile ilgisi yoktur. Örneğin senin. Htaccess dosyası. Sunucu günlükleri kontrol, ve sizin, sorunun bir parçası olarak orada burada listelenen hataları sonrası eğer bu yüzden daha iyi tam sorunun ne olabileceğini değerlendirebilir.

Eğer sunucu günlüğüne baktınız mı? Ne web sunucusu çalıştıran? Hangi işletim sistemi üzerinde?

Belge kök error_log için kontrol edin ve / veya hatalar (Apache ve PHP) kaydedilir sunucunuzun destek ekibi sormak.

Php.ini dosyasındaki display_errors direktifini edin. Bu TÜM hata bildirimini devre dışı edecek 'Kapalı' olarak ayarlanmış olabilir.

Aşağıdaki testscript ayrıca herhangi bir hata mesajları / günlükleri oluşturmaz.

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

Ancak access_log (apache varsayılan erisim.log ayarları varsayarak) "500" yanıt kodunu gösterecektir.

: "HTTP/1.1 500" kodunu, "500" veya "başlığı (" ve ekleme Arama

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

Bu (dosya adı ve satır numaraları ile) errorlog bir girdi üretecek

CentOS sen ... hata günlüğü muhtemelen / var / log / httpd / söylemek

Tail-f / var / deneyin komut satırında httpd / hatalar.log / log ve herhangi bir hata için kontrol edin

Lütfen komut üstüne koy:

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