PHP FPM tüm PHP hataları için HTTP 500 döner

4 Cevap php

PHP-FPM ile nginx çalıştırıyorum. Php dosyalarını işlemek için benim nginx yapılandırma Bu gibi görünüyor:

location  ~ \.php$ {
            set $php_root /home/me/www;
            fastcgi_pass   127.0.0.1:9000;
            fastcgi_index  index.php;
            fastcgi_param  SCRIPT_FILENAME  $php_root$fastcgi_script_name;
            include /etc/nginx/fastcgi_params;
        }

Şimdi, bu gibi basit bir php dosyası var:

<?php
     ech "asd"
     asd""
?>

Evet, bariz bir hata. Ben php dosyasına erişirken çalıştığınızda, bunun yerine bir sözdizimi hatası izleme, ben her zaman 500 Internal Server Error.I error_reporting(-1); kullanarak çalıştı, bir HTTP olsun ama yine de her zaman HTTP 500. Nasıl baskı PHP alabilirim döndürür tam yerine genel bir HTTP 500 dönen hata?

4 Cevap

Lütfen aşağıdaki satırı bulmaya çalışın php.ini:

 display_errors = Off

sonra onu yapmak

Daha tam bir cevap göndermek için, ben display_errors = Off olan php.ini üretim versiyonunu kullanmıştı. Bunun yerine küresel onu dönüm, ne şimdi ne olduğunu dosyalar için ben dosyanın başında ini_set('display_errors', 'On'); kullanmak, raporlama hatayı gerekir ki.

Ekran hataları yalnızca hataları çıkışa veya basılı olduğu gerçeğini etkileyecektir.

Eğer hataları açık oturum varsa, ekran kapalı olduğu sürece, hataları hala beklenen davranış değildir, hangi günlüğüne eksik olacaktır.

Beklenen davranıştır günlüğü açıksa, hataları orada bulunan olmasıdır. Ekran açıksa, hatalar ekran / çıkış bulunur. Her iki hatalara iseniz hem de bulunur.

Güncel sürümler bu forfeits bir hata var.

Ubuntu 12.10 için, php-fpm-havuz-config dosyasında:

php_flag[display_errors] = off

Php.ini dosyasında:

display_errors = Off