In versiunea 2.0 de la Magento cron-ul de indexare necesita rularea php in modul CLI. In admin apare mesajul: One or more indexers are invalid sau bin/magento must be run as a CLI application. Make sure your Magento cron job is running.
Accesati cPanel > Cron Jobs si cautati linia cu comanda de indexare si inlocuiti comanda php cu php-cli:
* * * * * php /home/username/public_html/bin/magento indexer:reindex
*/5 * * * * php-cli /home/username/public_html/bin/magento indexer:reindex
Puteti rula binarul php in diferite versiuni, aveti mai jos cateva exemple (cPanel EA4):
/opt/cpanel/ea-php56/root/usr/bin/php
/opt/cpanel/ea-php70/root/usr/bin/php
Pentru a verifica modul de rulare a php (PHP_SAPI) in cron folositi php -v:
*/5 * * * * /opt/cpanel/ea-php70/root/usr/bin/php -v > phpversion.log
Verificati phpversion.log daca contine cli sau cgi-fcgi:
PHP 7.0.33 (cli) (built: Dec 11 2018 06:07:07) ( NTS )
INFO: In functie de dimensiunea sitului si de intervalele de actualizare a datelor din magazin puteti seta un interval mai rar de rulare a cron-ului pentru a evita consumul excesiv de resurse:
O data la 5 minute */5****
O data la 15 minute */15****
De 2 ori pe ora 0,30****
In cazul in care nu aveti aceasta inregistrare in lista de cron (Current Cron Jobs) va trebui sa o adaugati in zona Add a New Cron Job:
Common Settings: Once Per Five Minutes (*/5****)
Command: php-cli /home/username/public_html/bin/magento indexer:reindex
Nota: Inlocuiti username cu utilizatorul contului cPanel. De asemenea verificati calea pana la instalarea magento, in acest exemplu magento este instalat in radacina sitului public_html