Подружить Magento и X-Cache
Как-то сделал товарищу магазин на Magento, ну и там пока то да сё - пустил его пожить на своём VDS-е. Мне было не в тягость, пока этот магазин не начал периодически отжирать ресурсы не слабо. Сегодня я решил задуматься о разных php-шных заморочках и вспомнил, что у меня к одному форуму на сервере уже прикручен X-Cache, вот его решил использовать и для магенты.
Быстро поискал в интернете и нашел нужные настройки, в файле app/etc/local.xml, в секции <global> необходимо сделать вставку:
Всё бы ничего, да только после этого Magento сдох (или Магента сдохла?) Короче, полез в var/report и полюбовался на:
Итак, лекарство:
На всякий случай решил записать этот рецептик, возможно ещё пригодится при каком-нибудь апгрейде.
Быстро поискал в интернете и нашел нужные настройки, в файле app/etc/local.xml, в секции <global> необходимо сделать вставку:
<cache>
<backend>xcache</backend>
<prefix>MAGENTO_</prefix>
</cache>здесь prefix - это всего лишь только префикс, и больше ничего, нужен, чтобы разделять кеши от разных проектов, можно придумать любое имя. Всё бы ничего, да только после этого Magento сдох (или Магента сдохла?) Короче, полез в var/report и полюбовался на:
a:4:{i:0;s:78:"fast_backend must implement the Zend_Cache_Backend_ExtendedInterface interface";i:1;s:1258:"#0 lib/Zend/Cache/Backend/TwoLevels.php(153): Zend_Cache::throwException('fast_backend mu...')
#1 lib/Zend/Cache.php(153): Zend_Cache_Backend_TwoLevels->__construct(Array)
#2 lib/Zend/Cache.php(94): Zend_Cache::_makeBackend('TwoLevels', Array, true, true)
#3 app/code/core/Mage/Core/Model/Cache.php(124): Zend_Cache::factory('Varien_Cache_Co...', 'TwoLevels', Array, Array, true, true, true)
#4 app/code/core/Mage/Core/Model/Config.php(1350): Mage_Core_Model_Cache->__construct(Array)
#5 app/Mage.php(432): Mage_Core_Model_Config->getModelInstance('core/cache', Array)
#6 app/code/core/Mage/Core/Model/App.php(396): Mage::getModel('core/cache', Array)
#7 app/code/core/Mage/Core/Model/App.php(290): Mage_Core_Model_App->_initCache(Array)
#8 app/code/core/Mage/Core/Model/App.php(332): Mage_Core_Model_App->baseInit(Array)
#9 app/Mage.php(640): Mage_Core_Model_App->run(Array)
#10 index.php(80): Mage::run('', 'store')
#11 {main}";s:3:"url";s:1:"/";s:11:"script_name";s:10:"/index.php";}Пришлось вновь залезать в Интернет и разбираться. Итак, лекарство:
- ищем файлик app/code/core/Mage/Core/Model/Cache.php и открываем его редактором
- находим там строчку, начинающуюся с case 'xcache':
- комментируем пониже выражение $enable2levels = true;
case 'xcache':
if (extension_loaded('xcache')) {
/*$enable2levels = true;*/
$backendType = 'Xcache';
}
break;После этого магазин шустренько зажил, так что можно сказать, что я доволен. На всякий случай решил записать этот рецептик, возможно ещё пригодится при каком-нибудь апгрейде.
