Человек прекрасно слышит голос разума, но он ему противен (Авессалом Подводный).

1 мин для чтенияNginx показывает пустые страницы PHP с FastCGI или PHP-FPM

FavoriteLoadingДобавить в избранное
1 Звезда2 Звезды3 Звезды4 Звезды5 Звезд (1 оценок, среднее: 5,00 из 5)
Загрузка...
25 ноября 2019
Nginx показывает пустые страницы PHP с FastCGI или PHP-FPM
Многие начинающие вебмастера при настройке нового веб-сайта или блога с помощью Nginx и PHP-FPM, пропускали этот параметр, а затем тратили много времени на поиск этой проблемы в Google. И каждый раз обнаруживали одну и ту же проблему, о которой расскажем в этой статье.

Перед применением этого исправления вы должны проверить свой доступ и журналы ошибок Nginx. Если вы не получили никакой ошибки в журнале ошибок и получите статус HTTP 200/OK в журнале доступа. Но, тем не менее, вы получите пустые страницы на всех страницах PHP, тогда это исправление решит вашу проблему.

Как всегда, мы сделаем это за несколько простых шагов. На самом первом шаге давайте посмотрим конфигурацию нашего сайта для блогов WordPress.

 

Шаг 1: Конфигурация блока местоположения для всех файлов PHP

Ниже приведен блок местоположения, который мы использовали для блогов WordPress.

location ~ \.php$ {
        try_files $uri /index.php =404;
        fastcgi_pass unix:/run/php/php7.3-fpm.sock;
        fastcgi_index index.php;
        include fastcgi_params;
}

Здесь мы включаем fastcgi_params из ngx_http_fastcgi_module из Nginx. Но забыли добавить следующую строку в нужный файл.

 

Шаг 2: Добавьте fastcgi_param в файл конфигурации

Нам просто нужно открыть файл /etc/nginx/fastcgi_params и добавить строку ниже в конце файла.

fastcgi_param SCRIPT_FILENAME $realpath_root$fastcgi_script_name;

 

ИЛИ вы можете напрямую пропустить эту строку с помощью приведенной ниже команды.

echo "fastcgi_param SCRIPT_FILENAME $realpath_root$fastcgi_script_name;" >> /etc/nginx/fastcgi_params

 

Теперь перезапустите службу PHP-FPM и службу Nginx, используя приведенные ниже команды.

systemctl restart php7.3-fpm
systemctl restart nginx

 

Примечание
Если у вас другая версия PHP-FPM, вы должны использовать ее вместо 7.3

Как указано в Nginx Docs, параметр должен быть передан на сервер FastCGI. После применения этого исправления ваши PHP-страницы должны работать. Если нет, то у вас, вероятно, была другая проблема. Вы можете написать в комментарии, как вы решили эту проблему.

Если вы нашли ошибку, пожалуйста, выделите фрагмент текста и нажмите Ctrl+Enter.

Читать  Использование команды Diff для сравнения двух файлов в терминале Linux

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Читайте также

Сообщить об опечатке

Текст, который будет отправлен нашим редакторам:

Заполните форму и наш менеджер перезвонит Вам в самое ближайшее время!

badge
Обратный звонок 1
Отправить
galka

Спасибо! Ваша заявка принята

close
galka

Спасибо! Ваша заявка принята

close