Nginx открывает пустые страницы PHP с FastCGI или PHP-FPM

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

Шаг 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-страницы должны работать. Если нет, то у вас, вероятно, была другая проблема. Вы можете написать в комментарии, как вы решили эту проблему.



2020-05-08T11:50:21
Nginx