Ответ @Magento Guy верен, но я думаю, что приведенное ниже решение может помочь вам обновить только недействительные кеши в Magento.
Я использую Bitnami Magento Stack, для меня это решение ниже было лучшимнашли.
Я пытался создать php-файл Mage_Shell_Class, но безуспешно (недопустимый массив кеша всегда был пустым, несмотря ни на что, и я действительно не представляю, почему).
Я создал php-файл 'sample.php':
<?php
require 'app/Mage.php';
$invalid = Mage::app()->getCacheInstance()->getInvalidatedTypes();
foreach($invalid as $i)
{
Mage::app()->getCacheInstance()->cleanType($i["id"]);
}
Я поместил его в корневую папку magento, и для его запуска я использую cronjob, работающий под пользователем root.
Итак, чтобы создать cronjob для пользователя root:
sudo crontab -u root -e
И это была моя командная строка для его запуска:
* * * * * . /opt/bitnami/scripts/setenv.sh ; /opt/bitnami/php/bin/php /opt/bitnami/apps/magento/htdocs/sample.php >> /var/log/cron/cron.log 2>&1
Некоторые части в этой строкеочень специфичны для моей проблемы:
- Поскольку он просто обновляет недействительные кэши, я решил запускать его каждую минуту.
- setenv.sh - это скрипт, который помогает мне установитьокружающая среда при работе с этим конкретным битнами стакk.
- Чтобы получить выходные данные этого скрипта, я использовал эту последнюю часть ">> /var/log/cron/cron.log 2> & 1" для вывода ошибок в каталог, который я создал (/var / log / cron) и дал на это правильные разрешения.
Возможно, вам нужно изменить команду cron line, но я думаю, что это поможет вам.