Вы здесь

Drupal 8 Migration. Проблема с memory_limit

0

В модуле Migrate восьмерки есть такой предохранительный механизм от пожирания памяти:
если занятая процессом память больше чем 80% от memory_limit, то миграция останавливается с сообщением:
[warning] Memory usage is now 52.41 MB (5241% of limit 1 MB), not enough reclaimed, starting new batch

Но этот механизм у меня не работает по такой причине.
В php.ini стоит ограничение 128М
Это же значение я вижу, когда захожу в Status Report Drupal (admin/reports/status)
В файле, где описаны функции миграции MigrationExecutable.php, для получения значения memory_limit используется такой код:

$limit = trim(ini_get('memory_limit'));
if ($limit == '-1') {
$this->memoryLimit = PHP_INT_MAX;
}
else {
$this->memoryLimit = Bytes::toInt($limit);
}

Но когда я проверяю, значение переменной $limit, то вижу -1
То есть установки php.ini игнорируются
не могу понять откуда в данном случае ini_get берет это значение, ну и соответственно, как его изменить.

Миграция запускается через drush
Соответственно используется еще Migrate Tools и кастомный модуль с плагином, написанным по API

Версия Drupal: 
8.x
Категория: 
Import
Связанные проекты: 
Migrate
Вопрос задан 31.08.2018 - 12:40

Думаю дело в том что drupal запускается под одним php, а drush под другим.
По этому и php.ini файлы у них разные.

В общем копайте в эту сторону.

Комментарий оставлен 01.09.2018 - 12:31

Ответы

0

Миграция запускается через drush

Drush - это консольная утилита.
Консольный PHP интерпретатор , так называемый PHP-CLI имеет свой конфигурационный файл
Пример пути - /etc/php/7.1/cli/php.ini

Ответ дан 20.09.2018 - 16:51