Magento 2.0 с обновленным до php 7.0 индексатором застрял при обработке


С Apache2.4 MariaDB php7.0.2 все работает правильно с расширениями php7, за исключением моих продуктов, которые не отображаются при поиске в интерфейсе magento2. После проверки на наличие чего-либо, что могло измениться, я обновил свои задания Cron до

*/1 * * * * php -c /etc/php/7.0/cli/apache2 /var/www/html/magento2/bin/magento cron:run
*/1 * * * * php -c /etc/php/7.0/cli/apache2 /var/www/html/magento2/update/cron.php
*/1 * * * * php -c /etc/php/7.0/cli/apache2 /var/www/html/magento2/bin/magento setup:cron:run
*/1 * * * * php -c /etc/php/7.0/cli/apache2 /var/www/html/magento2/bin/magento indexer:reindex

Каждая команда отлично выполняется вручную, но когда я захожу в серверную часть администратора, это то, что я получаю в разделе Индекса. Indexer processing

После поиска кого-либо еще я видел здесь, что @Алекс Палиаруш сказал, что вам нужно выполнить эту команду, чтобы исправить застрявшую при обработке.

 update magento.indexer_state set status='invalid' where status ='working'

Поэтому я запустил эту команду в SQL через phpmyadmin. sql прошел успешно, но он устранил половину проблемы, которую все еще обрабатывает поиск по каталогу. поэтому я остановил задания cron и снова запустил sql-запрос, затем вручную запустил индексатор: переиндексировать и получил эту ошибку.

Customer Grid index has been rebuilt successfully in 00:00:00
Category Products index has been rebuilt successfully in 00:00:00
Product Categories index has been rebuilt successfully in 00:00:00
Product Price index has been rebuilt successfully in 00:00:00
Product EAV index has been rebuilt successfully in 00:00:00
Stock index has been rebuilt successfully in 00:00:00
Catalog Rule Product index has been rebuilt successfully in 00:00:00
Catalog Product Rule index has been rebuilt successfully in 00:00:00
Segmentation fault (core dumped)

Итак, это исправило мой индексатор сетки клиентов и оставило меня с этим. Magento2 Indexer Catalog Search

Я считаю, потому что индексатор неправильно индексирование моих продуктов приводит к тому, что они не отображаются на интерфейсе сайта, у меня не было этой проблемы на php5.6

Я включил журнал php7.0-cli, чтобы найти ошибку при запуске индексатора, вот что я получил.

[10-Jan-2016 11:19:36 UTC] PHP Fatal error:  Allowed memory size of 1073741824 bytes exhausted (tried to allocate 140022063078552 bytes) in /var/www/html/magento2/lib/internal/Magento/Framework/Model/AbstractModel.php on line 442

Итак, как-то есть ошибка, которая пытается использовать более 140 терабайт.

Author: Community, 2016-01-10

3 answers

@acidreian проблемы с PHP7 были исправлены в теге 2.0.1 Пожалуйста, попробуйте и сообщите нам, была ли исправлена ваша проблема.

 2
Author: Maddy, 2016-01-20 16:09:03

Похоже, это просто SQL-код. Вы можете запустить его из командной строки при входе в свою базу данных. Или вы можете запустить его из веб-инструмента, такого как phpmyadmin, если вы используете MySQL.

 0
Author: Akif, 2016-01-10 09:56:26

Похоже, что это проблема в php7.0.x с оператором yield. В каком-то конкретном случае это будет сегментация (например, в Magento/Catalogsearch/Модели/Индексатор/Полнотекстовый/Действие/Полный.php:378).

 0
Author: KAndy, 2016-01-10 13:34:04