Вышел PHP 8.5.12: обновление безопасности и исправления среды выполнения

Вышел PHP 8.5.12: обновление безопасности и исправления среды выполнения
Содержание статьи

22 октября 2026 года вышел PHP 8.5.12. Разработчики обозначили его как релиз безопасности и рекомендуют обновление всем пользователям ветки 8.5. На Mentoring.digital выделяем изменения и практический порядок проверки, не подменяя обновление интерпретатора обычным обновлением зависимостей проекта.

Что исправлено в выпуске

В Core исправлены две проблемы, связанные с повреждением состояния при аварийном прерывании выполнения: GHSA-w8hw-w9fx-j79w и GHSA-6wmf-4rv5-p3rp. Отдельно журнал перечисляет сбой виртуальной машины при оптимизации сравнения констант и ошибки работы с ленивыми объектами.

Есть изменения встроенного сервера: устранена утечка файлового дескриптора при HEAD-запросах к статическим файлам и исправлена обработка ряда обрывов соединения. Для DOM исправлены проблемы DOMXPath и поиска SVG/MathML-элементов по ID. Это разные сценарии, поэтому одно успешное открытие главной страницы не проверяет весь затронутый код.

Почему composer update недостаточно

PHP исполняет приложение, а Composer управляет его библиотеками. Команда обновления зависимостей сама по себе не доказывает, что заменён интерпретатор в контейнере, FPM-пуле или на хостинге. Практическое действие для команды: установить, какой именно runtime обслуживает запросы, и отдельно сверить CLI и веб-окружение.

Если сборка использует контейнер, зафиксируйте новую версию базового образа, пересоберите приложение и проверьте версию внутри полученного образа. Для управляемого хостинга уточните доступность исправленного пакета у провайдера. Его обозначение может отличаться от номера upstream при обратном переносе исправлений.

Что включить в проверку приложения

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

Публикация релиза не подтверждает, что конкретный сайт уже обновлён. После развёртывания нужны фактическая версия обслуживающего процесса и проверка поведения приложения. Разбор совместимости и окружения можно провести с ментором по PHP.

Похожие статьи по данной теме