PHP 8.5 — это значительное обновление языка PHP, содержащее множество новых функций и оптимизаций. Однако Ubuntu 24.04 LTS включает в свои официальные репозитории только PHP 8.3. В этом руководстве объясняется, как обновить PHP до версии 8.5 и настроить Nginx для его использования.
Предпосылки
- Существующий веб-сайт, работающий с Nginx и PHP 8.3 на сервере Ubuntu 24.04.
- Права пользователя: пользователь root или обычный пользователь с привилегиями sudo
Конвенции
| |
Шаг 1. Обновите систему
Свежая установка Ubuntu 26.04 требует обновления пакетов до последних доступных версий.
| |
Система может нуждаться в перезагрузке после обновления.
| |
Шаг 2. Список установленных пакетов PHP 8.3
Перечислите все пакеты PHP 8.3, установленные в вашей системе.
| |
Вывод выглядит так.
| |
Второй столбец содержит имена установленных пакетов.
Передайте приведенный выше вывод командам cut, xargs и sed соответственно, чтобы сгенерировать список соответствующих пакетов PHP 8.5.
| |
Результат выглядит следующим образом:
| |
Используйте свой вывод при установке PHP 8.5.
Сохраните список существующих модулей PHP-FPM 8.3 в файл:
| |
Вы будете использовать этот файл, чтобы убедиться, что после обновления все модули отсутствуют.
Шаг 3. Установите PHP 8.5
Вы можете установить PHP 8.5 из репозитория ppa:ondrej/php, разработанного Ондржея Сури, который предоставляет последние стабильные версии PHP для систем Ubuntu и Debian.
Добавьте репозиторий ppa:ondrej/php.
| |
Вы можете вручную подтвердить, работает ли репозиторий, выполнив команду.
| |
Смоделируйте установку пакетов PHP 8.5, используя список, созданный в предыдущем разделе.
| |
Установите пакеты PHP 8.5 с уточненным списком. Обратите внимание, что команда установки не содержит опции --simulate.
| |
Сохраните список текущих модулей PHP-FPM 8.5 в файл.
| |
Сравните существующие модули PHP-FPM 8.3 с текущими модулями PHP-FPM 8.5.
| |
Если вы получаете пустой вывод, это означает, что после обновления не пропало ни одного модуля.
Убедитесь, что версия PHP по умолчанию в режиме командной строки — 8.5.
| |
Шаг 4. Настройте Nginx
Nginx и PHP-FPM 8.3 взаимодействуют друг с другом через сокет, созданный PHP-FPM 8.3. Поэтому, чтобы переключиться на PHP-FPM 8.5, вам нужно настроить новый сокет для PHP-FPM 8.5 и перенастроить Nginx с этим сокетом.
Найдите сокет, созданный PHP-FPM 8.3, и файл конфигурации Nginx, который использует этот сокет.
| |
Если это сокет Unix, вывод будет выглядеть так:
| |
Если это сокет TCP, вывод будет выглядеть так:
| |
В обоих случаях /etc/nginx/sites-available/default — это файл конфигурации Nginx, который вам нужно отредактировать, а /var/run/php/php8.3-fpm.sock или 127.0.0.1:9000 — это сокет.
У вас может быть другое имя файла или более одного имени файла. Замените default в следующей команде файлами, найденными в вашей системе.
Создайте резервную папку для хранения файла конфигурации перед редактированием.
| |
Скопируйте все файлы конфигурации в резервную папку.
| |
Отредактируйте файл конфигурации, заменив старый сокет новым.
- Если старым сокетом является
/var/run/php/php8.3-fpm.sock, новым должен быть/var/run/php/php8.5-fpm.sock.
| |
- Если старый сокет — 127.0.0.1:9000, то новый должен быть 127.0.0.1:9001.
| |
Проверьте новую конфигурацию.
| |
Перед применением новой конфигурации вам необходимо выполнить следующий раздел для настройки PHP 8.5.
Шаг 5. Настройте PHP 8.5
Удалите конфигурацию рабочего пула PHP 8.5 по умолчанию.
| |
Скопируйте конфигурацию из PHP-FPM 8.3 в PHP-FPM 8.5.
| |
Найдите файл конфигурации, содержащий определение старого сокета.
- Если старый сокет
/var/run/php/php8.3-fpm.sock:
| |
- Если старый сокет
127.0.0.1:9000:
| |
В обоих случаях результаты одинаковы, примерно так:
| |
Отредактируйте файл конфигурации, заменив старый сокет новым.
- Если старый сокет
/var/run/php/php8.3-fpm.sock:
| |
- Если старый сокет
127.0.0.1:9000:
| |
Вам также может понадобиться настроить некоторые параметры в основном файле конфигурации PHP 8.5, чтобы они соответствовали требованиям вашего веб-сайта. Общие настройки для большинства веб-сайтов PHP:
| |
Вы можете найти необходимые настройки в основном файле конфигурации PHP 8.3 /etc/php/8.3/fpm/php.ini, а затем скопировать эти настройки в основной файл конфигурации PHP 8.5 /etc/php/8.5/fpm/php.ini.
Проверьте новую конфигурацию.
| |
Перезагрузите службу PHP-FPM 8.5, чтобы применить изменения.
| |
Перезагрузите службу Nginx, чтобы ваш сайт работал с PHP 8.5 вместо 8.3.
| |
Отключите службу PHP-FPM 8.3.
| |
Шаг 6. Проверьте установку
Откройте свой сайт в браузере. Протестируйте и убедитесь, что все функции работают должным образом.
Если вы решили удалить PHP 8.3, сделайте следующее.
Удалите папку резервной копии Nginx.
| |
Удалите все пакеты PHP 8.3.
| |
Завершение
Если вам понравился этот пост о том, как обновить PHP 8.3 до 8.5 на Ubuntu 24.04, пожалуйста, поделитесь им со своими друзьями в социальных сетях, которым может быть интересна эта статья или оставьте комментарий ниже.