Я выполняю 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
, затем сделайте это на
{{1} }Чтобы дать более полный ответ, я использовал производственную версию php.ini, в которой display_errors = Off. Вместо того, чтобы включать его глобально, я делаю следующее: для файлов, в которых мне нужно отображать ошибки, я использую ini_set('display_errors', 'On');
в начале файла.