Веб-разработкаE-commerce и бизнес

Хостинг говорит, что PHP обновлён: как проверить, что это правда

После PHP2Shell ответа «PHP обновлён» мало: обновить могли не тот сайт, только консольный PHP или без перезапуска процессов. Четыре проверки на пятнадцать минут и пять вопросов к хостингу.

Хостинг написал: «PHP обновлён». Это может быть правдой для одного сайта из пяти на вашем аккаунте, правдой только для командной строки или правдой на бумаге, пока рабочие процессы всё ещё держат в памяти старую версию. После PHP2Shell такого ответа мало. Ниже четыре проверки, которые владелец сайта может сделать сам за пятнадцать минут, и список вопросов к хостингу.

Почему «обновлено» ещё не значит «защищено»

  • Обновили не тот сайт. На аккаунте бывает несколько доменов, поддоменов и тестовых копий, и во многих панелях версию PHP выбирают для каждого отдельно.
  • Обновили только консольный PHP. Команда php -v показывает версию для терминала и cron. Сайт в браузере обслуживает другой PHP: PHP-FPM, Apache или LiteSpeed, и это могут быть разные версии.
  • Процессы не перезапущены. Пакет обновлён на диске, но воркеры PHP-FPM или Apache, запущенные раньше, выполняют старый код, пока их не перезапустят.
  • Версия в строке обманывает в обе стороны. Дистрибутивы Linux (Debian, Ubuntu) часто переносят исправления в пакет со старым номером версии: по номеру сайт выглядит уязвимым, а по сути уже закрыт. Бывает и наоборот.

Проверка 1. Какую версию видит именно сайт

Без терминала:

  • WordPress: Инструменты → Состояние сайта → вкладка «Информация» → раздел «Сервер», строка «Версия PHP».
  • Временный файл phpinfo: файл с одной строкой <?php phpinfo(); в корне сайта, открыть в браузере и сразу удалить: страница выдаёт слишком много о сервере, чтобы оставлять её публичной.
  • Заголовок ответа: команда curl -sI https://example.com | grep -i x-powered-by покажет PHP/8.x.y, если администратор не отключил этот заголовок. Часто он отключён, и тогда пустой результат ничего не доказывает.

Проверка 2. Сравните с исправленными версиями

Исправления вышли для веток 8.5 (8.5.12), 8.4 (8.4.27), 8.3 (8.3.36) и 8.2 (8.2.35). Для 8.1 и старше официального исправления нет. Ваша версия такая же или новее соответствующей из списка? Хорошо. Ниже? Не спешите с выводом: если сервер на Debian или Ubuntu, спросите хостинг, содержит ли пакет исправления CVE-2026-109618 и CVE-2026-109619. Журнал изменений пакета это показывает, и хостингу ответить на такой вопрос несложно.

Проверка 3. Перезапущены ли процессы

Обновление без перезапуска работает только на диске. Спросите хостинг прямо: «после обновления вы перезапустили PHP-FPM (или Apache) и когда именно?». Если у вас есть SSH, время запуска процессов видно командой ps -eo pid,lstart,cmd | grep -E "php-fpm|apache2|httpd": дата старта должна быть позже времени обновления.

Проверка 4. Все места, где живёт PHP

  • Все домены и поддомены на аккаунте, включая тестовые копии и забытые старые сайты: один необновлённый сайт на аккаунте остаётся точкой входа, даже если главный уже закрыт.
  • Отдельные пулы PHP-FPM для разных сайтов.
  • Задания cron и консольные скрипты: они запускаются тем PHP, что в терминале, а не веб-версией.

Что спросить у хостинга

  1. Какая точная версия PHP сейчас у моего сайта (не «8.3», а полностью, с третьим числом или номером пакета)?
  2. Входят ли в этот пакет исправления CVE-2026-109618 и CVE-2026-109619?
  3. Когда после обновления перезапущены PHP-FPM или веб-сервер?
  4. Применено ли то же самое ко всем моим доменам и поддоменам?
  5. Если у меня PHP 8.1 или старше: есть ли у вас пакет с исправлением, или нужно переходить на новую ветку?

Если хостинг не может или не хочет

Бывают хостинги, которые предлагают только устаревшие ветки PHP. Тогда остаются два пути: перейти на ветку с исправлением (8.2–8.5), предварительно проверив на копии сайта, работают ли плагины и модули, или перенести сайт на сервер, где вы сами управляете версией. Мы делаем и то, и другое: обновление PHP и защита сервера проходит на копии сайта, с проверкой совместимости и отчётом о состоянии.

Ни одна проверка не даёт стопроцентной гарантии. Она закрывает типичные ошибки, но не заменяет резервных копий и мониторинга.

Теги

SEO

Вам понравилась статья?

Ваше мнение помогает нам создавать лучший контент

Поделитесь с друзьями

Нашли что-нибудь полезное?

Помогите другим узнать это — поделитесь статьей в социальных сетях

Спасибо, что помогаете нам расти

Основатель LIONEX

Владислав Чистяков

Пишет о том, что делает руками: интернет-магазины на OpenCart, приложения на Next.js, интеграции и скорость сайтов. В статьях — замеры и проверки, которые читатель может повторить на своём проекте, а не общие советы. Коммерческая разработка с 2015 года.

Вопросы

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

Ответы на популярные вопросы по теме

Как узнать версию PHP своего сайта без доступа к серверу?

В WordPress: Инструменты → Состояние сайта → «Информация» → «Сервер». Для других CMS можно положить в корень временный файл со строкой <?php phpinfo(); открыть его в браузере и сразу удалить: страница выдаёт слишком много о сервере. Заголовок X-Powered-By тоже показывает версию, но его часто отключают.

Почему команда php -v может показывать другую версию, чем работает мой сайт?

Команда показывает PHP для терминала и cron. Сайт в браузере обслуживает PHP-FPM, Apache или LiteSpeed, и это может быть другая версия. Ещё бывает, что пакет обновили, а рабочие процессы не перезапустили: они выполняют старый код, пока их не перезапустят.

Если номер версии ниже исправленной, сайт точно уязвим?

Не обязательно. Debian и Ubuntu часто переносят исправления в пакет со старым номером. Спросите хостинг, входят ли в ваш пакет исправления CVE-2026-109618 и CVE-2026-109619: это видно в журнале изменений пакета.

Что делать, если мой хостинг предлагает только PHP 8.1 или старше?

Для 8.1 и старше официального исправления нет. Остаются переход на ветку 8.2–8.5 с предварительной проверкой плагинов на копии сайта или перенос на сервер, где вы сами управляете версией. Мы делаем оба варианта.

Получайте лучшие статьи на почту

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

Нажимая «Подписаться», вы соглашаетесь с политикой конфиденциальности. На почту придёт письмо со ссылкой подтверждения; отписаться можно из любого письма.

Ещё в блоге

Похожие статьи

Stable на Laravel 13 и PHP 8.5: что изменилось в нашем движке магазиновВеб-разработка

Stable на Laravel 13 и PHP 8.5: что изменилось в нашем движке магазинов

Stable, наш собственный движок интернет-магазинов, в главной ветке уже работает на Laravel 13 и требует PHP 8.5. Рассказываем, что изменилось, что в процессе и чего мы пока не утверждаем.

Читать дальше
Уязвимость PHP2Shell: что делать владельцу сайта сейчасВеб-разработка

Уязвимость PHP2Shell: что делать владельцу сайта сейчас

В PHP нашли две критические уязвимости (CVE-2026-109618 и CVE-2026-109619), их уже используют в атаках. Как за пять минут проверить версию PHP, что обновить сегодня и что делать, если сайт могли взломать.

Читать дальше
Prom или собственный магазин: что вы отдаете маркетплейсу и как посчитать это по своим цифрамE-commerce и бизнес

Prom или собственный магазин: что вы отдаете маркетплейсу и как посчитать это по своим цифрам

Комиссия от 4,2 %, 10 грн за каждый оформленный заказ на сайте с собственным доменом, а сайты на поддоменах, зарегистрированные с 30.05.2025, не индексируются. Что вы платите Prom, что можно забрать с собой, что Prom по-прежнему делает лучше и как проверить решение по собственной выгрузке заказов. Условия — по данным на 14.10.2026.

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