PHP FPM возвращает HTTP 500 для всех ошибок PHP - PullRequest
21 голосов
/ 09 февраля 2010

Я использую nginx с PHP-FPM. Моя конфигурация nginx для работы с php файлами выглядит так:

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;
        }

Теперь у меня есть простой php-файл, подобный этому:

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

Да, с явной ошибкой. Когда я пытаюсь получить доступ к файлу php, вместо отслеживания синтаксической ошибки, я всегда получаю внутреннюю ошибку сервера HTTP 500. Я пытался использовать error_reporting(-1);, но все равно он всегда возвращает HTTP 500. Как мне заставить PHP печатать точную ошибку вернуть общий HTTP 500?

Ответы [ 7 ]

35 голосов
/ 09 февраля 2010

Попробуйте найти следующую строку в вашем php.ini:

 display_errors = Off

, затем включите

8 голосов
/ 15 марта 2010

Чтобы опубликовать более полный ответ, я использовал рабочую версию php.ini, у которой display_errors = Off. Вместо того, чтобы включить его глобально, то, что я сейчас делаю, для файлов, по которым мне нужно получать отчеты об ошибках, я использую ini_set('display_errors', 'On'); в начале файла.

5 голосов
/ 25 марта 2012

Также я столкнулся с проблемой, и я установил display_errors = Off в php.ini, но это не работает. Затем я нашел php[display_errors]=off в php-fpm.conf, и он переопределит значение php.ini, и он будет работать.

1 голос
/ 25 января 2013

Для Ubuntu 12.10 в файле php-fpm-pool-config:

php_flag[display_errors] = on

В файле php.ini:

display_errors = On
1 голос
/ 22 августа 2012

Ошибки отображения будут влиять только на тот факт, что ошибки выводятся на печать или нет.

Если у вас включены ошибки журнала, ошибки по-прежнему будут отсутствовать в журнале, если не отключено отображение, что не является ожидаемым поведением.

Ожидаемое поведение: если логин включен, там обнаружены ошибки. Если дисплей включен, на экране / выходе обнаруживаются ошибки. Если оба находятся на ошибки, найдены на обоих.

В текущих версиях есть ошибка, которая устраняет эту ошибку.

0 голосов
/ 09 апреля 2019

вы можете отобразить ошибки следующим образом: перейдите на php.ini и найдите display_errors, вы должны увидеть display_errors = Off, просто замените Off на On, перезапустите php и запустите снова.

0 голосов
/ 13 октября 2018

При установке из Remi repo php72.Это пользователь по умолчанию и группа с apache |

. Перейдите в файл www.conf, найдите его /etc/opt/remi/php72/php-fpm.d/www.conf

и измени

user=nginx
group=nginx

перед перезапуском php fpm

systemctl restart php72-php-fpm

CENTOS REMI PHP7.2

...