Ответ 1
Попробуйте найти следующую строку в php.ini
:
display_errors = Off
затем сделайте это на
Я запускаю 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?
Попробуйте найти следующую строку в php.ini
:
display_errors = Off
затем сделайте это на
Чтобы отправить более полный ответ, я использовал производственную версию php.ini, у которой есть display_errors = Off. Вместо того, чтобы включать его в глобальном масштабе, то, что я делаю сейчас, для файлов, для которых мне нужна отчет об ошибках, я использую ini_set('display_errors', 'On');
в начале файла.
Также я встретил проблему, и я установил display_errors = Off
в php.ini
, но он не работает. Затем я нашел php[display_errors]=off
в php-fpm.conf
, и он переопределит значение php.ini
, и он будет работать.
Ошибки отображения влияют только на то, что ошибки печатаются для вывода или нет.
Если у вас возникли ошибки журнала, ошибки все равно будут отсутствовать в журнале, если дисплей не выключен, что не является ожидаемым поведением.
Ожидаемое поведение: если журнал включен, там обнаружены ошибки. Если дисплей включен, ошибки отображаются на экране/выходе. Если оба находятся на erros, они находятся на обоих.
В текущих версиях есть ошибка, которая лишается этого.
Для Ubuntu 12.10 в файле конфигурации php-fpm-pool-config:
php_flag[display_errors] = on
В файле php.ini:
display_errors = On
Если вы устанавливаете из 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
вы можете отображать ошибки следующим образом: перейдите в php.ini и найдите display_errors
, вы должны увидеть display_errors = Off
, просто замените Off
на On
, перезапустите php и запустите снова.