Рубрики
Сервер

Настраиваем Nginx для работы с PHP 8.3

После обновления PHP до версии 8.3 нужно правильно настроить Nginx для обработки PHP-скриптов. Вот пошаговая инструкция:

1. Убедитесь, что PHP-FPM установлен

Проверьте, установлен ли php8.3-fpm:

bash

sudo apt install php8.3-fpm

Запустите и добавьте в автозагрузку:

bash

sudo systemctl start php8.3-fpm
sudo systemctl enable php8.3-fpm

Проверьте статус:

bash

sudo systemctl status php8.3-fpm

(Должен быть active (running))


2. Настройте Nginx для работы с PHP 8.3

Откройте конфиг вашего сайта (обычно /etc/nginx/sites-available/your-site.conf или /etc/nginx/sites-available/default):

bash

sudo nano /etc/nginx/sites-available/default

Найдите блок обработки PHP и замените его на:

nginx

location ~ \.php$ {
include snippets/fastcgi-php.conf;
fastcgi_pass unix:/run/php/php8.3-fpm.sock;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}

(Если используется php-fpm на TCP-порту, укажите fastcgi_pass 127.0.0.1:9000;)


3. Проверьте конфигурацию Nginx

bash

sudo nginx -t

Если ошибок нет, перезапустите Nginx:

bash

sudo systemctl restart nginx

4. Проверьте работу PHP

Создайте тестовый файл:

bash

echo "<?php phpinfo(); ?>" | sudo tee /var/www/html/info.php

Откройте в браузере:
http://ваш-сервер/info.php

Должна отобразиться информация о PHP 8.3.


5. (Опционально) Настройте альтернативные версии PHP

Если у вас несколько версий PHP, можно переключать их командой:

bash

sudo update-alternatives --config php

И изменить fastcgi_pass в конфиге Nginx на нужный сокет (например, /run/php/php7.4-fpm.sock).


6. Если PHP не работает

  • Проверьте, что php8.3-fpm запущен:bash
sudo systemctl status php8.3-fpm

Убедитесь, что в fastcgi_pass указан правильный сокет:

bash

ls /run/php/php*.sock

Проверьте права доступа:

bash

sudo chown -R www-data:www-data /var/www/html

Итог

Теперь Nginx корректно обрабатывает PHP 8.3. Если нужно использовать другую версию PHP, просто измените fastcgi_pass в конфиге Nginx и перезапустите сервисы.