
Как обновить 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
- 01
Закрытие известных уязвимостей и поддержка безопасности
- 02
Рост скорости обработки запросов в PHP 8.x
- 03
Совместимость с актуальными версиями CMS и библиотек
- 04
Современные возможности языка: типизация, атрибуты, match
- 05
Меньше проблем при аудите безопасности хостинга
Подготовка к обновлению
Сначала выясните, что установлено сейчас. Выполните php -v и посмотрите список пакетов командой rpm -qa | grep php. Так вы увидите не только версию, но и подключённые расширения, которые придётся поставить заново.
Затем сделайте резервную копию: файлы сайта, дамп базы данных и каталог конфигурации /etc/php.ini вместе с /etc/php.d/. Если сервер виртуальный, создайте снимок диска у провайдера — это самый быстрый способ откатиться.
php -v
Версия PHP в консоли
rpm -qa | grep php
Список установленных пакетов
mysqldump / tar
Копия базы и файлов сайта
cp /etc/php.ini
Сохранение конфигурации
Обновление PHP через репозиторий Remi на CentOS 7
- 01
Установите EPEL и Remi: yum install epel-release yum-utils, затем подключите пакет remi-release для вашей версии системы.
- 02
Отключите старую ветку и включите нужную: yum-config-manager --disable remi-php74 и yum-config-manager --enable remi-php82.
- 03
Обновите пакеты: yum update php* или установите набор заново: yum install php php-cli php-fpm php-mysqlnd php-mbstring php-xml php-gd.
- 04
Проверьте результат командой php -v и убедитесь, что отображается новая версия.
- 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 7 | yum | yum-config-manager --enable remi-php82 |
| CentOS 8 / Stream | dnf | dnf module enable php:remi-8.2 |
| AlmaLinux / Rocky 8-9 | dnf | dnf 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)
Как правильно
- 01
Сначала проверить обновление на тестовой копии сайта
- 02
Сверить список расширений до и после обновления
- 03
Просмотреть логи ошибок в /var/log/php-fpm и /var/log/httpd
- 04
Держать готовым план отката на предыдущую версию
PHP 7.4
- поддержка завершена
- нет исправлений безопасности
- ограничения для новых CMS
PHP 8.2 / 8.3
- актуальные патчи безопасности
- выше скорость работы
- совместимость с новыми CMS
Проверка после обновления
Когда обновление завершено, проверьте работу сайта: откройте главную страницу, форму обратной связи, личный кабинет и админку. Загляните в журналы ошибок — предупреждения об устаревших функциях (deprecated) видны именно там.
После этого убедитесь, что поисковые роботы не получают ошибок 5xx. Это удобно сделать в Яндекс Вебмастере и Google Search Console: разделы со статистикой обхода и ошибками сервера покажут проблемы быстрее, чем жалобы пользователей. Если используете Яндекс Метрику или Google Analytics, обратите внимание на резкий рост отказов.
Итоги
- 01
Сделайте резервную копию файлов, базы и конфигурации
- 02
Подключите EPEL и Remi, выберите нужную версию PHP
- 03
Переустановите расширения и перезапустите веб-сервер
- 04
Проверьте сайт и логи, а также статистику в Яндекс Вебмастере и Search Console
Если на сервере работает важный проект, а времени на эксперименты нет, доверьте обновление специалистам — мы проверим совместимость и выполним работы без простоя.
Часто задаваемые вопросы
Выполните команду php -v в терминале. Для PHP-FPM или Apache дополнительно проверьте версию через phpinfo() на тестовой странице, так как консольная и веб-версии могут отличаться.
Да, через репозитории EPEL и Remi с помощью yum-utils и команды yum-config-manager --enable remi-php82. Но CentOS 7 уже снят с поддержки, поэтому лучше планировать переезд на AlmaLinux или Rocky Linux.
Проверьте журналы ошибок веб-сервера и PHP, совместимость CMS и плагинов с новой версией, а также наличие нужных расширений. При необходимости откатитесь на резервную копию или предыдущий модуль PHP.
Да. Для Apache выполните systemctl restart httpd, для PHP-FPM — systemctl restart php-fpm, для Nginx — перезапуск или перезагрузку конфигурации, чтобы новая версия начала обрабатывать запросы.
Выбирайте версию с активной поддержкой безопасности, например 8.2 или 8.3. Перед обновлением убедитесь, что ваша CMS и все плагины совместимы с этой версией.
Нужно безопасно обновить PHP на сервере без простоя сайта?
Проверим совместимость проекта, сделаем резервную копию и выполним обновление на вашем сервере.
Спасибо за заявку!
Мы свяжемся с вами в ближайшее время.
Сотни серверов обновлены без простоя



