Почему владельцу MODX нужно проверить PHP сейчас
20 октября 2026 года команда PHP предупредила о двух критических уязвимостях, а 21 октября выпустила исправления. CVE-2026-109618 и CVE-2026-109619 допускают удалённое выполнение кода без авторизации. Это повод проверить серверный PHP даже у сайта, который открывается без ошибок.
Уязвимости находятся в PHP. Само наличие MODX не доказывает ни уязвимость конкретной установки, ни факт взлома. Сначала нужно установить, какая сборка обрабатывает запросы и применил ли поставщик исправления.
Какие выпуски содержат исправления
Для поддерживаемых веток выпущены PHP 8.2.35, 8.3.36, 8.4.27 и 8.5.12. Обновление внутри текущей ветки и переход на другую ветку — разные задачи: ради этих исправлений не каждому сайту нужен переход на самый новый PHP.
Поставщик дистрибутива или хостинг может перенести патч в свой пакет, сохранив прежний номер версии. Поэтому одного числа в панели недостаточно: запросите сведения об исправлении обеих CVE. Для PHP 8.1 и более старых веток уточните поддержку у поставщика или планируйте переход на поддерживаемую ветку.
Для MODX проверьте не только PHP в панели хостинга, но и запуск сниппетов, обработчиков форм и заданий cron. Сохраните сведения о пакете и результате проверки вместе с перечнем выполненных работ.
Почему обновления MODX недостаточно
Обновление Revolution или Extras не устанавливает патч в PHP на сервере. При этом после исправления PHP нужно убедиться, что с ним работают дополнения и собственный код сайта.
На MODX главная страница может открываться, а форма обратной связи — уже не отправляться. Страницу отдаёт кэш, а обработчик формы запускает PHP-код, который с новой версией не совместим. Поэтому открывшаяся главная ещё не подтверждает, что обновление прошло успешно.
До переключения нужно проверить три слоя: сам MODX Revolution, установленные дополнения Extras и код, написанный для сайта. В последнюю группу входят сниппеты, плагины, обработчики запросов и скрипты по расписанию. Ошибка может находиться в любом из них.
Сначала определите версию MODX и цель обновления
Запишите точную версию Revolution и текущую версию PHP. Затем сверьте требования нужного выпуска MODX с документацией и проверьте совместимость используемых дополнений. Требования одного выпуска нельзя переносить на всю ветку MODX. Наличие подходящего PHP у хостинга тоже не означает, что на нём заработает старый сниппет.
Обновление PHP и переход с MODX 2 на MODX 3 — разные изменения. В MODX 3 изменились части API и организация классов; дополнениям и собственному коду может понадобиться адаптация. Если нужен только новый PHP, сначала выясните, можно ли решить задачу в текущей ветке Revolution. Если необходим переход на MODX 3, включите его в отдельный план.
Что включить в проверку совместимости
| Часть сайта | Что выяснить до переключения |
|---|---|
| Revolution и Extras | Точные версии, требования к PHP, наличие обновлений и зависимостей у дополнений. |
| Сниппеты и плагины | Где используется собственный PHP-код, какие события он обрабатывает и кто его поддерживает. |
| Формы и почта | Какие обработчики принимают данные, куда уходит письмо и есть ли передача в CRM. |
| Магазин и обмены | Какие дополнения обслуживают каталог, заказ, оплату, доставку и импорт. |
| Сервер | Расширения и настройки PHP для сайта, а также отдельный интерпретатор в заданиях cron. |
Как подготовить копию сайта
Сохраните файлы и базу данных одной рабочей версии. В файлы должны попасть не только шаблоны, но и конфигурация, дополнения, загруженные изображения и собственные скрипты. Убедитесь, что копию можно восстановить: наличие архива без проверки распаковки и базы оставляет неопределённость.
Разверните отдельный тестовый сайт и закройте его от посторонних и индексации. Отключите реальные рассылки, платежи, передачу заявок и автоматические обмены. Для проверки назначьте тестовые адреса и учётные записи. Иначе копия может отправить клиенту письмо или передать заказ во внешнюю систему.
Составьте короткий список действий, которые работают до изменения. Например: найти товар, открыть карточку, отправить форму и сохранить ресурс в панели MODX. По этому же списку будет удобно сравнить результат после смены PHP.
Порядок обновления на тестовой копии
- 01
Зафиксировать исходные ошибки
Откройте журнал MODX и серверные логи. Отделите проблемы, которые уже были, от ошибок, появившихся после обновления.
- 02
Подготовить компоненты
Проверьте требования обновлений Revolution и Extras. Определите последовательность, при которой совместимы и текущий PHP, и промежуточные версии компонентов.
- 03
Переключить PHP и проверить сценарии
Используйте выбранную версию на копии. После очистки кэша проверьте страницы, формы, управление сайтом и фоновые задания. Сопоставьте сбои с журналом ошибок.
- 04
Согласовать исправления
Для каждого несовместимого компонента определите действие: обновление, правка кода или замена. Если замена меняет поведение сайта, согласуйте её отдельно.
Что делать, если после смены PHP появилась ошибка 500
Сначала найдите запись с временем неудачного запроса в журнале PHP или веб-сервера. Важны текст ошибки, файл и строка: они помогают отличить ошибку кода от отсутствующего расширения или настройки окружения. Не публикуйте подробные сообщения об ошибках посетителям.
Если перестал работать живой сайт, сохраните текущие данные и оцените возврат предыдущей конфигурации. Не восстанавливайте старую базу поверх новых заказов только потому, что в резервной копии страницы открывались. Сначала нужно понять, менялась ли база и какие данные появились после переключения. Исправление затем проверяется на копии.
Если прежняя сборка PHP не содержит исправлений безопасности, возврат к ней возвращает и известный риск. Согласуйте восстановление с администратором и исправьте несовместимый компонент, чтобы рабочий сайт использовал патч.
Что проверить перед завершением
- Страницы без кэша, поиск, фильтры и изображения: проверяйте разные типы страниц, а не только главную.
- Отправку каждой важной формы: сообщение об успехе, фактическое получение письма и запись в CRM, если она подключена.
- Панель MODX: вход, редактирование и сохранение ресурса, работа с файлами и используемыми дополнениями.
- Для магазина — товар, корзину, заказ и тестовый платёж; для обменов — передачу тестовых данных без изменения реальных остатков.
- Журналы ошибок после проверок и версию PHP у заданий cron. Рабочий сайт и командная строка могут использовать разные интерпретаторы.
Сколько стоит обновление PHP в MODX
В Сиверн ставка составляет 1 900 ₽/час. Минимальный расчёт — от 5 часов, то есть от 9 500 ₽. В оценку входят подготовка копии, проверка совместимости, согласованные исправления и проверка после запуска.
Пять часов не являются фиксированным сроком для любого MODX-сайта. Старые дополнения, собственный магазин или переход на MODX 3 могут увеличить объём. До начала работ согласуем часы и результат; платные компоненты и хостинг учитываются отдельно. Для оценки пришлите адрес сайта, версию Revolution и сообщение хостинга о PHP, если оно есть.
Официальная документация
Требования MODX
Требования к серверу и расширениям PHP для текущих выпусков Revolution.
Открыть требованияПереход с MODX 2 на MODX 3
Изменения, которые могут затронуть дополнения и собственный код.
Прочитать руководствоПоддержка версий PHP
Сроки поддержки веток PHP. Проверяйте их при выборе целевой версии.
Проверить поддержкуЕсли есть признаки взлома
Уязвимая версия PHP не доказывает, что сайт уже взломан. Если появились неизвестные файлы, перенаправления или изменения данных, сохраните журналы и обратитесь за разбором инцидента. Установка патча сама по себе не удаляет внедрённый код и не восстанавливает изменённые данные. Расследование и восстановление требуют отдельной оценки.
Предупреждение PHP и помощь с обновлением
Предупреждение от 20 октября 2026 года
Официальный анонс срочного выпуска исправлений PHP.
Прочитать сообщение PHPCVE-2026-109618
Описание и исправленные версии от команды PHP.
Открыть уведомлениеCVE-2026-109619
Описание и исправленные версии от команды PHP.
Открыть уведомлениеОбновление PHP и закрытие уязвимостей
Проверка исправлений и совместимости сайта: 1 900 ₽/час, минимальный расчёт от 5 часов — от 9 500 ₽.
Обсудить обновление