Веб-разработка

Версия PHP и скорость сайта: как безопасно обновить

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

Версия PHP и скорость сайта: как безопасно обновить

Версия PHP напрямую влияет на скорость сайта: каждая новая ветка обычно выполняет тот же код быстрее и расходует меньше ресурсов, а устаревшие версии ещё и перестают получать исправления безопасности. Безопасно обновить PHP можно за несколько шагов: сделать резервную копию, проверить совместимость CMS и плагинов на тестовой копии, переключить версию и сразу проверить ключевые страницы и журнал ошибок.

В этой статье разберём, как узнать текущую версию, какие ветки сейчас актуальны, что может сломаться при обновлении и как действовать на виртуальном хостинге и на VPS.

Код на PHP: от версии интерпретатора зависит скорость сайта

Почему версия PHP так важна

PHP — язык, на котором работают WordPress, 1С-Битрикс, Joomla, OpenCart, Drupal и тысячи самописных сайтов. Каждый раз, когда посетитель открывает страницу, интерпретатор PHP выполняет код CMS, обращается к базе данных и собирает HTML. Чем эффективнее интерпретатор, тем меньше время ответа сервера и тем больше посетителей выдерживает тот же тариф.

Переход с PHP 5.x на 7.0 в своё время стал скачком производительности, а ветка 8.x добавила JIT-компиляцию и множество внутренних оптимизаций. Насколько ускорится именно ваш сайт, заранее сказать нельзя: это зависит от кода, плагинов и того, где на самом деле «узкое место» — в PHP, базе данных или внешних запросах. Поэтому всегда замеряйте время ответа до и после.

Вторая причина обновляться — безопасность. Для неподдерживаемых веток уязвимости больше не исправляют, а многие CMS и плагины постепенно прекращают их поддержку. Сайт на старом PHP со временем перестаёт получать обновления и становится лёгкой целью.

Жизненный цикл версий PHP

Каждая ветка PHP сначала получает активную поддержку (исправления ошибок и безопасности), затем только исправления безопасности, после чего поддержка прекращается. Точные даты публикуются на официальной странице php.net/supported-versions — сверяйтесь с ней перед планированием.

Ветка Статус (ориентировочно, октябрь 2026) Что делать
5.6, 7.0–7.4 Поддержка давно прекращена Обновлять в первую очередь
8.0, 8.1 Поддержка прекращена Планировать переход
8.2 Только исправления безопасности, срок подходит к концу Готовить обновление
8.3, 8.4 Поддерживаются Хороший выбор для рабочих сайтов
8.5 Новейшая ветка После проверки совместимости плагинов

Совет: для рабочего сайта не обязательно гнаться за самой свежей веткой в день её выхода. Разумная стратегия — использовать поддерживаемую версию, с которой официально совместимы ваша CMS и ключевые плагины.

Как узнать текущую версию PHP

Есть несколько способов, выберите удобный:

  1. Панель хостинга. В разделе настроек сайта обычно указана версия PHP и есть переключатель.
  2. Админка CMS. В WordPress откройте «Инструменты» → «Здоровье сайта» → «Информация» → «Сервер». В 1С-Битрикс — «Настройки» → «Инструменты» → «Проверка системы».
  3. Командная строка на VPS:
php -v
ls /etc/php/

Обратите внимание: консольная версия PHP (php-cli) и версия, которая обслуживает сайт (PHP-FPM или модуль Apache), могут отличаться. Ориентируйтесь на ту, что указана в настройках сайта или в отчёте CMS.

Обновление версии PHP на сервере

Что может сломаться при обновлении

Каждая новая ветка удаляет устаревшие функции и ужесточает проверки. Код, который годами работал с предупреждениями, на новой версии может выдать фатальную ошибку. Чаще всего проблемы бывают такие:

  • устаревшие плагины и модули, которые давно не обновлялись разработчиком;
  • самописный код с функциями, удалёнными в PHP 8 (например, старые функции mysql_* исчезли ещё в PHP 7);
  • строгие проверки типов: передача null туда, где ожидается строка, теперь даёт предупреждения или ошибки;
  • старые версии тем, особенно купленные давно и без обновлений;
  • зашифрованные модули, которые требуют определённой версии загрузчика (ionCube и аналоги).

Результат ошибки — «белый экран», ошибка 500 или неработающая корзина. О том, что значат такие ошибки, мы писали в статье ошибки 500, 502, 503, 504.

Пошаговый план безопасного обновления

1. Резервная копия

Сохраните файлы сайта и базу данных. На VPS базу удобно выгрузить командой:

mysqldump -u user -p dbname > backup_$(date +%F).sql
tar -czf site_$(date +%F).tar.gz /var/www/example.ru

Убедитесь, что копия скачана или лежит вне сервера.

2. Обновление CMS, тем и плагинов

Сначала обновите ядро CMS и все расширения на текущей версии PHP. Новые версии плагинов чаще всего уже совместимы с PHP 8.x. Удалите неиспользуемые плагины — это минус потенциальные проблемы.

3. Проверка совместимости

Посмотрите требования CMS и описания ключевых плагинов: там указано, с какими версиями PHP они протестированы. Для WordPress существуют плагины проверки совместимости, но их отчёт неполный — финальная проверка всё равно на тестовой копии.

4. Тестовая копия

Разверните копию сайта на поддомене (например, test.example.ru), закройте её от индексации и переключите на ней PHP. Многие хостинги позволяют выбрать версию PHP отдельно для каждого сайта или поддомена.

5. Проверка ключевых сценариев

  • главная, каталог, карточка товара, статьи;
  • формы обратной связи и заявки;
  • корзина, оформление заказа, оплата в тестовом режиме;
  • вход в личный кабинет и админку;
  • обмен с 1С, выгрузки в маркетплейсы, cron-задачи.

6. Переключение рабочего сайта

Выберите время с минимальной посещаемостью, переключите версию и сразу пройдите те же сценарии. Держите открытым журнал ошибок.

7. Наблюдение

В течение нескольких дней проверяйте журнал ошибок PHP и веб-сервера, заявки и заказы. Если что-то пошло не так, на хостинге версию можно вернуть в один клик, а на VPS — переключить пул PHP-FPM обратно.

Проверка журнала ошибок после обновления PHP

Обновление PHP на VPS с Ubuntu

На VPS несколько версий PHP можно держать параллельно и переключать сайты по очереди. На Ubuntu для свежих версий часто используют репозиторий ondrej/php:

sudo apt update
sudo apt install software-properties-common
sudo add-apt-repository ppa:ondrej/php
sudo apt update
sudo apt install php8.3-fpm php8.3-mysql php8.3-xml php8.3-mbstring php8.3-curl php8.3-gd php8.3-zip php8.3-intl

Набор расширений зависит от CMS — сравните со списком расширений, установленных для старой версии (php -m). Затем в конфигурации nginx замените сокет, например fastcgi_pass unix:/run/php/php8.3-fpm.sock;, проверьте синтаксис и перезагрузите службу:

sudo nginx -t && sudo systemctl reload nginx

Не забудьте перенести свои настройки из старого php.ini: лимиты памяти, размер загружаемых файлов, параметры OPcache. Об их настройке — в статье ускорение сайта на уровне сервера.

Важно: не удаляйте старую версию PHP сразу после переключения. Пусть она останется на сервере неделю-две — так откат займёт минуту, а не час.

Обновление на виртуальном хостинге

На хостинге всё проще: версия PHP выбирается в панели управления. У Timeweb и SprintHost переключение делается в настройках сайта, обычно с выбором из нескольких поддерживаемых веток. Если вы не находите нужную версию или хотите держать сайт на очень старом PHP ради несовместимого модуля — это повод задуматься о переделке, а не о поиске хостинга со старым PHP.

Если сайту нужна гибкость — несколько версий одновременно, свои расширения, тонкая настройка PHP-FPM, — переходите на VPS, например Timeweb Cloud. Подробности о тарифах — в нашем обзор Timeweb и Timeweb Cloud.

Сайт после обновления PHP работает быстрее

Частые вопросы

Сайт старый, его делал фрилансер, который пропал. Обновлять PHP?

Обновлять, но только через тестовую копию. Если код не совместим, это сразу станет видно, и можно будет оценить объём доработок, не останавливая рабочий сайт.

Хостинг сам обновил PHP, и сайт упал. Что делать?

Временно верните предыдущую версию в панели, если она ещё доступна, и запланируйте доработку кода. Провайдеры обычно предупреждают об отключении старых веток заранее, поэтому следите за письмами от хостинга.

Нужен ли JIT для сайта на CMS?

Для типичных сайтов на WordPress и Битриксе JIT даёт мало пользы: основное время уходит на работу с базой и вводом-выводом. Гораздо важнее включённый и правильно настроенный OPcache.

Как часто обновлять PHP?

Разумно раз в один-два года переходить на следующую поддерживаемую ветку, а минорные обновления внутри ветки устанавливать регулярно.

Если не хотите разбираться сами

Мы в Pear Advert обновляем PHP на сайтах клиентов через тестовую копию: проверяем плагины, исправляем несовместимый код и переключаем рабочий сайт в спокойное время. Если не хотите разбираться сами — поможем подобрать и настроить сервер в рамках услуги аренда сервера и хостинга.

В статье есть партнёрские ссылки: если вы зарегистрируетесь по ним, студия получит вознаграждение, для вас цена не меняется.

Читать дальше

Статьи по теме

Начать проект

Давайте сделаем крутой проект вместе

Расскажите о задаче — мы бесплатно проанализируем нишу, предложим решение и назовём сроки со стоимостью. Без навязчивых звонков.

Телефон

8 (926) 837 76 68

Почта

info@pear-advert.ru

Офис

Москва, ул. Гиляровского, 57с1

Оставьте заявку

Ответим в течение рабочего дня

Выберите тип проекта

Данные используются только для ответа на заявку и хранятся не дольше трёх лет.