it-swarm.com.ru

PHP FPM возвращает HTTP 500 для всех PHP ошибки

Я использую 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?

17
ErJab

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

 display_errors = Off

тогда сделай это на

31
Young

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

8
ErJab

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

5
yaronli

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

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

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

Текущие версии имеют ошибку, которая утрачивает это.

1
Luis Ferro

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

php_flag[display_errors] = on

В файле php.ini:

display_errors = On
1
user2009092

Если вы устанавливаете из 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

0
Turan Zamanlı