Индексатор 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
3 answers
Это ошибка (утечка памяти) в PHP 7.
PHP 7 еще не готов к запуску такого сложного программного обеспечения, как Magento 2: вы получите много сегментов, утечек памяти и т.д.
Я рекомендую проверить это еще раз через месяц, возможно, это будет исправлено в PHP 7.
Попробуйте это, это займет память во время выполнения:
Для Linux
-dmemory_limit=2G индексатор magento: переиндексировать
Как для Windows, так и для Linux
Php-dmemory_limit=2G индексатор magento: переиндексация
Это старый вопрос, но для этой проблемы есть исправление
Https://gist.github.com/mpchadwick/a627b4fe6e5299cd3e8f1fdf57cf9b6c
Это также исправлено в ядре при обновлении до 2.2.X
Https://github.com/magento/magento2/commit/6d98e2a57059ef75d9d0dd0585b84bb33953e107