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