Рекомендуем
VPS на Windows и Linux — от 49 ₽ за 7 дней Быстрый запуск сервера на NVMe для сайтов, ботов и других задач.
Выбрать VPS

Drupal 11.4.11 исправил сбои пакетных операций и обновил настройки PHP

21 октября 2026 года вышел Drupal 11.4.11 — исправительный выпуск системы управления сайтами, в котором устранили зависимость пакетных операций от порядка параметров URL и поправили настройку очистки удалённых полей. Обновление также меняет конфигурацию .htaccess для PHP 8.3 и новее, поэтому особенно интересно администраторам сайтов со сложными операциями импорта и собственными настройками сервера.

Drupal 11.4.11 исправил сбои пакетных операций
Drupal 11.4.11 исправил сбои пакетных операций

Пакетные операции Drupal больше не зависят от сортировки параметров URL

Импорт большого объёма данных или массовое изменение материалов в Drupal может выполняться по частям: система обрабатывает порции задач и показывает ход работы. За это отвечает механизм Batch API. До версии 11.4.11 у него была неприятная особенность: некоторые пакетные операции могли прерываться, если промежуточный сервис менял порядок параметров в адресе запроса.

Проблему описали на Drupal.org на примере функции Query String Sort в Cloudflare. Она сортирует параметры URL, чтобы запросы с одинаковыми значениями выглядели одинаково. Но Drupal формировал адреса пакетной обработки так, что параметр op мог встречаться дважды. После сортировки порядок этих значений менялся, и сервер выбирал неверный режим операции. В опубликованном отчёте это приводило к ошибке Not acceptable format: json и остановке обработки до завершения всей задачи.

В Drupal 11.4.11 JavaScript-код batch.js формирует адрес иначе: использует URL и searchParams.set() для установки значения op. Существующий параметр заменяется, поэтому повторяющиеся op больше не создаются этим участком кода. Изменение затрагивает как промежуточные запросы, так и переход после завершения пакетной обработки. Для сайтов, где прокси или CDN сортирует параметры URL, устранена описанная причина сбоя.

Drupal заменил устаревшую директиву PHP в файле .htaccess

Начиная с PHP 8.3, директива assert.active считается устаревшей. Она управляла выполнением проверок assert(), которые обычно используют при разработке и отладке. В Drupal 11.4.11 соответствующую запись в поставляемом .htaccess заменили на zend.assertions.

Прежний вариант:

<IfModule mod_php.c>
  php_value assert.active 0
</IfModule>

Новый вариант:

<IfModule mod_php.c>
  php_value zend.assertions 0
</IfModule>

У изменения есть техническая граница. Этот блок предназначен для Apache с mod_php; в конфигурациях с PHP-FPM настройки PHP обычно задаются другими средствами. Команда Drupal отдельно указывает, что у владельцев сайтов .htaccess может находиться под собственным управлением и потребовать ручного изменения. Значение zend.assertions = -1 PHP рекомендует для производственных серверов ради отсутствия затрат на проверки, но устанавливается оно при запуске PHP через конфигурацию, а не через приведённую запись .htaccess.

Исправлена настройка очистки удалённых полей Drupal

Ещё одна ошибка находилась в механизме очистки данных полей, которые уже удалены из структуры сайта. Drupal выполняет такую очистку порциями, в том числе во время запуска cron и импорта конфигурации. Размер порции может задаваться параметром purge_batch_size.

В коде использовалось неверное имя конфигурации — field.field_settings вместо field.settings. Из-за опечатки Drupal не читал заданное в конфигурации значение и переходил к резервной настройке field_purge_batch_size из settings.php либо к значению по умолчанию 50. Версия 11.4.11 исправляет обращение к конфигурации в обработчике cron и при импорте настроек. Поправили и текст сообщения, связанного с устаревающей конфигурацией.

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

Обновлены Symfony, Guzzle и Composer

В состав Drupal 11.4.11 вошли обновления зависимостей: symfony/http-foundation и symfony/yaml до 7.4.21, guzzlehttp/guzzle до 7.15.2, composer/composer до 2.10.3. Эти библиотеки отвечают за разные внутренние части приложения, включая обработку HTTP-запросов, YAML-конфигураций, сетевых обращений и управление зависимостями. Официальная страница релиза перечисляет новые версии, но не приписывает каждому обновлению отдельную исправленную уязвимость Drupal.

Для проектов с Composer команда Drupal приводит способ обновления ядра вместе с необходимыми зависимостями:

composer update "drupal/core-*" --with-all-dependencies

Конкретный результат зависит от ограничений версий в composer.json. В официальных заметках также есть команда для установки именно 11.4.11, но разработчики предупреждают, что жёсткая фиксация версии может усложнить следующие обновления.

Drupal 11.4.11 продолжает исправления после октябрьского обновления безопасности

Предыдущая версия, Drupal 11.4.10 от 14 октября, была выпуском безопасности: она закрыла критическую уязвимость удалённого выполнения кода и две XSS-уязвимости. Drupal 11.4.11 от 21 октября официально обозначен как bugfix-релиз, рассчитанный на рабочие сайты. Его отдельные изменения касаются пакетной обработки, настроек PHP, очистки полей и зависимостей.

Поддержка безопасности ветки Drupal 11.4.x заявлена до июня 2027 года. Теперь для проектов с сортировкой параметров URL и собственным размером порций очистки есть подтверждённые исправления двух конкретных сбоев, а настройка проверок PHP приведена в соответствие с актуальным механизмом zend.assertions.

Источники

При использовании материалов сайта необходимо указывать ссылку на TGLand.ru. Если вы копируете фрагменты текста в интернете, прямая гиперссылка, доступная для индексации поисковыми системами, должна быть размещена в начале материала.

Вам также может понравиться