Индексатор Magento 2 Разрешенный объем памяти в xxxx байтах


При запуске процесса индексатора Magento 2 из командной строки с помощью команды:

./magento indexer:reindex customer_grid

Я получаю следующую ошибку:

PHP Fatal error:  Allowed memory size of 1073741824 bytes exhausted (tried to allocate 280224918230723 bytes) in /www/vendor/magento/zendframework1/library/Zend/Db/Statement/Pdo.php on line 228

Количество укусов, которое он пытается выделить, нереально. так что увеличение лимита памяти - это не вариант (также я думаю, что 1 ГБ - это уже слишком много.

Я попытался вручную установить недопустимый индекс через базу данных и повторить попытку индексирования. но это ничего не меняет. Я также не могу найти соответствующую таблицу в БД для flus, поскольку это действительно решило проблему в Magento 1.x.

Сервер работает на PHP версии 7.0.0 и MariaDB версии 10.1.9

Author: Dennis van Schaik, 2015-12-23

3 answers

Это ошибка (утечка памяти) в PHP 7.
PHP 7 еще не готов к запуску такого сложного программного обеспечения, как Magento 2: вы получите много сегментов, утечек памяти и т.д.
Я рекомендую проверить это еще раз через месяц, возможно, это будет исправлено в PHP 7.

 2
Author: Mage2.PRO, 2015-12-24 11:15:03

Попробуйте это, это займет память во время выполнения:

Для Linux

-dmemory_limit=2G индексатор magento: переиндексировать

Как для Windows, так и для Linux

Php-dmemory_limit=2G индексатор magento: переиндексация

 7
Author: Yogesh Trivedi, 2016-06-30 10:48:32

Это старый вопрос, но для этой проблемы есть исправление

Https://gist.github.com/mpchadwick/a627b4fe6e5299cd3e8f1fdf57cf9b6c

Это также исправлено в ядре при обновлении до 2.2.X

Https://github.com/magento/magento2/commit/6d98e2a57059ef75d9d0dd0585b84bb33953e107

 0
Author: mpchadwick, 2018-09-11 00:56:49