Estoy automatizando las configuraciones de lanzamiento arrancando Mage en varios scripts de lanzamiento. Al final de los scripts, necesito vaciar el caché de Magento.
¿Hay alguna manera de vaciar el caché usando una de las Mage
clases o métodos?
Estoy automatizando las configuraciones de lanzamiento arrancando Mage en varios scripts de lanzamiento. Al final de los scripts, necesito vaciar el caché de Magento.
¿Hay alguna manera de vaciar el caché usando una de las Mage
clases o métodos?
Respuestas:
Intente el siguiente código para vaciar el caché mediante programación
Mage::app()->cleanCache()
o
Mage::app()->getCacheInstance()->flush();
Si realmente quisieras, también podrías limpiar uno o más tipos de caché. Así es como lo hace la sección de administración. DebajoMage_Adminhtml_CacheController::massRefreshAction
Puedes ver que recorre todos los parámetros types
y llama a lo siguiente
$tags = Mage::app()->getCacheInstance()->cleanType($type);
Mage::dispatchEvent('adminhtml_cache_refresh_type', array('type' => $type));
$updatedTypes++;
Los tipos posibles son los siguientes:
Y estos pueden devolverse llamando Mage::app()->getCacheInstance()->getTypes()
Un script externo rápido para borrar todo el caché:
<?php
require_once './app/Mage.php';
umask(0);
Mage::app('default');
Mage::app()->setCurrentStore(Mage_Core_Model_App::ADMIN_STORE_ID);
try {
$allTypes = Mage::app()->useCache();
foreach($allTypes as $type => $value) {
Mage::app()->getCacheInstance()->cleanType($type);
Mage::dispatchEvent('adminhtml_cache_refresh_type', array('type' => $type));
echo "{$type} </br>";
}
echo 'done';
} catch (Exception $e) {
echo $e->getMessage();
}
Nuestro podríamos usar n98-magerun . Especialmente porque nunca debe vaciar el caché durante la ejecución de los scripts de implementación. También mire el sys:setup:incremental
subcomando para una ejecución más controlada de los scripts de configuración de Magento.
Si realmente necesita borrar todos los almacenamientos de caché, use el siguiente código,
Mage::app()->getCacheInstance()->flush();
Aquí la función Flush llama a la funcionalidad de caché magento predeterminada. Si necesita más aclaraciones, consulte la siguiente url.