Как обновить PHP на CentOS: пошаговая инструкция
Колонка одинаковых белых шайб на подложке, одна шайба наклонена и выдвинута из ряда, её грань изумрудная

Как обновить PHP на CentOS: пошаговая инструкция

Обновить PHP на CentOS можно через репозиторий Remi и модули dnf: проверьте версию, подключите репозиторий, включите нужный модуль и перезапустите веб-сервер.

Как обновить PHP на CentOS

Чтобы обновить PHP на CentOS, подключите репозиторий Remi, включите модуль нужной версии (например, php:remi-8.2), выполните обновление пакетов и перезапустите веб-сервер.

Главное правило: перед любым обновлением делайте резервную копию сайта и конфигурации.

Устаревшая версия PHP — это уязвимости, медленная работа и несовместимость с современными CMS. Ниже — рабочая инструкция для CentOS 7 и CentOS 8 / Stream, а также типичные ошибки, которые возникают при переходе на новую версию.

Зачем обновлять PHP

Версии PHP получают исправления безопасности ограниченное время. Когда поддержка заканчивается, найденные уязвимости больше не закрываются, и сервер становится лёгкой целью. Кроме того, и WordPress, и 1С-Битрикс, и другие системы постепенно повышают минимальные требования к версии.

Есть и практическая выгода: PHP 8.x заметно быстрее ветки 7.x за счёт JIT-компиляции и оптимизаций. Для нагруженного сайта это означает меньшее время ответа, а значит и лучшие поведенческие метрики, которые учитывают Яндекс и Google при ранжировании.

Что даёт обновление PHP

  1. 01

    Закрытие известных уязвимостей и поддержка безопасности

  2. 02

    Рост скорости обработки запросов в PHP 8.x

  3. 03

    Совместимость с актуальными версиями CMS и библиотек

  4. 04

    Современные возможности языка: типизация, атрибуты, match

  5. 05

    Меньше проблем при аудите безопасности хостинга

Подготовка к обновлению

Сначала выясните, что установлено сейчас. Выполните php -v и посмотрите список пакетов командой rpm -qa | grep php. Так вы увидите не только версию, но и подключённые расширения, которые придётся поставить заново.

Затем сделайте резервную копию: файлы сайта, дамп базы данных и каталог конфигурации /etc/php.ini вместе с /etc/php.d/. Если сервер виртуальный, создайте снимок диска у провайдера — это самый быстрый способ откатиться.

01

php -v

Версия PHP в консоли

02

rpm -qa | grep php

Список установленных пакетов

03

mysqldump / tar

Копия базы и файлов сайта

04

cp /etc/php.ini

Сохранение конфигурации

Обновление PHP через репозиторий Remi на CentOS 7

  1. 01

    Установите EPEL и Remi: yum install epel-release yum-utils, затем подключите пакет remi-release для вашей версии системы.

  2. 02

    Отключите старую ветку и включите нужную: yum-config-manager --disable remi-php74 и yum-config-manager --enable remi-php82.

  3. 03

    Обновите пакеты: yum update php* или установите набор заново: yum install php php-cli php-fpm php-mysqlnd php-mbstring php-xml php-gd.

  4. 04

    Проверьте результат командой php -v и убедитесь, что отображается новая версия.

  5. 05

    Перезапустите веб-сервер: systemctl restart httpd или systemctl restart php-fpm.

CentOS 8 и Stream: модули dnf

В CentOS 8 и Stream версии PHP переключаются через модульные потоки. Подключите Remi, затем посмотрите доступные потоки командой dnf module list php. Сбросьте текущий поток: dnf module reset php, и включите нужный: dnf module enable php:remi-8.2.

После этого выполните dnf update или переустановите нужные пакеты. Такой подход чище, чем ручное удаление: dnf сам заменит зависимости, а конфигурационные файлы сохранятся с пометкой .rpmsave, если вы их правили.

СистемаМенеджер пакетовВыбор версии PHP
CentOS 7yumyum-config-manager --enable remi-php82
CentOS 8 / Streamdnfdnf module enable php:remi-8.2
AlmaLinux / Rocky 8-9dnfdnf module enable php:remi-8.2

Обратите внимание: CentOS 7 и CentOS 8 уже сняты с поддержки, а CentOS Stream — это промежуточная ветка для разработки. Для production-серверов разумно рассмотреть миграцию на AlmaLinux или Rocky Linux: они бинарно совместимы, а инструкции по PHP почти не отличаются.

Частые ошибки при обновлении PHP

Большинство проблем возникает из-за пропущенных расширений и несовместимого кода.

Как делать не стоит

  • Обновлять PHP на боевом сервере без резервной копии
  • Пропускать проверку совместимости CMS и плагинов
  • Забывать перезапустить php-fpm или Apache
  • Не переустанавливать расширения (mbstring, gd, xml, mysqlnd)

Как правильно

  1. 01

    Сначала проверить обновление на тестовой копии сайта

  2. 02

    Сверить список расширений до и после обновления

  3. 03

    Просмотреть логи ошибок в /var/log/php-fpm и /var/log/httpd

  4. 04

    Держать готовым план отката на предыдущую версию

было

PHP 7.4

  • поддержка завершена
  • нет исправлений безопасности
  • ограничения для новых CMS
→
стало

PHP 8.2 / 8.3

  • актуальные патчи безопасности
  • выше скорость работы
  • совместимость с новыми CMS

Проверка после обновления

Когда обновление завершено, проверьте работу сайта: откройте главную страницу, форму обратной связи, личный кабинет и админку. Загляните в журналы ошибок — предупреждения об устаревших функциях (deprecated) видны именно там.

После этого убедитесь, что поисковые роботы не получают ошибок 5xx. Это удобно сделать в Яндекс Вебмастере и Google Search Console: разделы со статистикой обхода и ошибками сервера покажут проблемы быстрее, чем жалобы пользователей. Если используете Яндекс Метрику или Google Analytics, обратите внимание на резкий рост отказов.

Если после обновления что-то сломалось, откатитесь: переключите модуль на предыдущую версию (dnf module reset php, затем enable нужного потока) и восстановите конфигурацию из резервной копии.

Итоги

Обновление PHP на CentOS — это подготовка, подключение Remi, выбор версии и проверка.
  1. 01

    Сделайте резервную копию файлов, базы и конфигурации

  2. 02

    Подключите EPEL и Remi, выберите нужную версию PHP

  3. 03

    Переустановите расширения и перезапустите веб-сервер

  4. 04

    Проверьте сайт и логи, а также статистику в Яндекс Вебмастере и Search Console

Если на сервере работает важный проект, а времени на эксперименты нет, доверьте обновление специалистам — мы проверим совместимость и выполним работы без простоя.

Часто задаваемые вопросы

Нужно безопасно обновить PHP на сервере без простоя сайта?

Проверим совместимость проекта, сделаем резервную копию и выполним обновление на вашем сервере.

Бесплатный аудит сервераРезервная копия перед работамиБез простоя сайта

Сотни серверов обновлены без простоя

Политика конфиденциальности

При оставлении заявки на ресурсе «https://gurucontext.ru» пользователи предоставляют следующие сведения:

  • Имя
  • Контактный телефон или Telegram
  • Адрес сайта пользователя (не обязательно)

Также администрация сайта получает данные об IP-адресе посетителей, типе браузера, времени нахождения на сайте и прочие подобные сведения через сервисы статистики.

Использование информации

Вся полученная информация используется администрацией «https://gurucontext.ru» исключительно в целях связи с клиентом.

Защита персональных данных

Компания «https://gurucontext.ru» обязуется не разглашать сведения, полученные от пользователей, и хранит их в защищённом виде.

Предоставление данных третьим лицам

Полученные сведения не передаются третьим лицам, за исключением случаев исполнения обязательств перед клиентом (с его разрешения) и обоснованных требований закона.

Контакты

Телефон: +7 (499) 955-47-00.
E-mail: info@gurucontext.ru.