我有一个开发阶段和一个生产阶段。我想在生产模式下激活缓存和索引,并在开发模式下停用它。
我还使用版本控制系统,所以如果可能的话,它可以在配置文件中。
我该怎么办?
创建一个文件 clearCache.php
<?php
$mageFilename = 'app/Mage.php';
require_once $mageFilename;
umask(0);
Mage::app('admin');
Mage::app()->cleanAllSessions();
Mage::app()->getCacheInstance()->flush();
Mage::app()->cleanCache();
$types = Array(
0 => 'config',
1 => 'layout',
2 => 'block_html',
3 => 'translate',
4 => 'collections',
5 => 'eav',
6 => 'config_api',
7 => 'fullpage'
);
$allTypes = Mage::app()->useCache();
$updatedTypes = 0;
foreach ($types as $code) {
if (!empty($allTypes[$code])) {
$allTypes[$code] = 0;
$updatedTypes++;
}
$tags = Mage::app()->getCacheInstance()->cleanType($code);
}
if ($updatedTypes > 0) {
Mage::app()->saveUseCache($allTypes);
echo "Cache disabled";
}
else {
echo "Cache is off already";
}
缓存和索引选项默认保存在数据库中,而不是文件系统中。所以你可以很容易地做到这一点。
只需在开发阶段的后台停用缓存并将索引模式设置为手动即可。