cancel
Showing results for 
Search instead for 
Did you mean: 

Индексирование на сервере magento 2

Индексирование на сервере magento 2

Как настроить автоматическое выполнение индексирования на сервере

На локальном сервере работает подобное на консоли shell работает

php C:\xampp\htdocs\modernlady\bin\magento indexer:reindex

Customer Grid index has been rebuilt successfully in 00:00:13
Category Products index has been rebuilt successfully in 00:00:03
Product Categories index has been rebuilt successfully in 00:00:00
Product Price index has been rebuilt successfully in 00:00:07
Product EAV index has been rebuilt successfully in 00:00:01
Stock index has been rebuilt successfully in 00:00:01
Catalog Rule Product index has been rebuilt successfully in 00:00:01
Catalog Product Rule index has been rebuilt successfully in 00:00:00
Catalog Search index has been rebuilt successfully in 00:00:09

 

А как такое же настроить на хостинге в планировщике задач? Как пример предлагают

PHP command examples:

General example:

/usr/local/bin/php /home/shanhai2/public_html/path/to/cron/script

 

Но что это за скрипт? где его брать? тут же просто команда?

 

5 REPLIES 5

Re: Индексирование на сервере magento 2

Ваша команда запускает процесс реиндекса. Но если настроить корректно крон задачи (их 3 для разных задач), то отдельно запускать реиндек будет не надо.

 

Скрипт это 

    php bin/magento cron:run

 

Тут подробно

http://devdocs.magento.com/guides/v2.2/config-guide/cli/config-cli-subcommands-cron.html


ET Web Solutions
extensions, custom work, support

Re: Индексирование на сервере magento 2

Там в статье не совсем понятно что конкретно делать((( тем более на сервере(Подскажите пожалуйта!

Re: Индексирование на сервере magento 2

Куда же понятнее то? Smiley Happy

 

Вам надо запускать по крону 3 команды

 

* * * * * /usr/bin/php /var/www/html/magento2/bin/magento cron:run 2>&1 | grep -v Ran jobs by schedule >> /var/www/html/magento2/var/log/magento.cron.log
* * * * * /usr/bin/php /var/www/html/magento2/update/cron.php >> /var/www/html/magento2/var/log/update.cron.log
* * * * * /usr/bin/php /var/www/html/magento2/bin/magento setup:cron:run >> /var/www/html/magento2/var/log/setup.cron.log

 

Как именно на конкретном сервере настраивать - узнавайте у хостера.

* * * * * - запуск каждую минуту

 

/usr/bin/php - интерпритатор, который будет обрабатывать программу magento. Может лежать по любому пути и называться по разному, хоть php5, хоть php7.1, хоть просто php

 

/var/www/html/magento2/bin/magento - путь до исполнимого файла magento. 

 

cron:run ... - параметры запуска программы


ET Web Solutions
extensions, custom work, support

Re: Индексирование на сервере magento 2

Я вроде так и сделала - прописала эти три задания в планировщик. Но в админке все равно ошибка 

Re: Индексирование на сервере magento 2

Для Вас важна первая команда php magento indexer:reindex и тогда на виртуальном (дешевом) хостинге у вас есть шанс запустить Magento 2

Применяемые инструменты: в cpanel есть shell или доступ ssh и PuTTY.

 
По пунктам:
1. Для вас самая важная команда php magento indexer:reindex ее и нужно запустить в cron с периодичностью вашего обновления товарной базы.
2. В cpanel есть доступ SSH. Скачав и помучившись с запуском PuTTY вы получите консоль.
3. Зачем это нужно? В консоли вы сможете запустить все команды из Текущие запланированные задания и посмотреть ход выполнения. Не исключено, что придется переписать пути и указать правильную версию PHP для запуска magento
4. Запустив правильную команду php magento indexer:reindex в cron вы спокойно займетесь наполнением товаров.