Борьба с 502 bad gateway или как установить xcache на 0.4.2

Итак после долгих мытарств и по мотивам livestreet.ru/blog/questions/5335.html решил написать как установить xcache на LS 0.4.2. Мне установка xcache реально помогла в решении проблемы ошибки 502 и в целом для более стабильной работы сайтов. Итак поехали:
Первым делом убираем memcache и eaccelerator. Я не стал ничего удалять из системы, просто закомментировал в php.ini строки относящиеся к eaccelerator, аналогично в /etc/php5/conf.d/memcache.ini также все закомментировал. Наверное это неправильно, кто знает как совсем удалить отпишитесь в каментах.

Теперь собственно установка xcache:

apt-get install php5-xcache


Установили, теперь настраиваем:
nano /etc/php5/apache2/conf.d/xcache.ini


Редактируем секцию админки:
Читать дальше →

Добавляем поддержку xcache в 0.3.1

Сохраняем framework.zend.com/svn/framework/standard/trunk/library/Zend/Cache/Backend/Xcache.php в каталог classes/lib/external/DklabCache/Zend/Cache/Backend

Редактируем classes/modules/sys_cache/Cache.class.php, или, можно просто создать папку Cache в каталоге classes/modules и скопировать туда Cache.class.php из sys_cache. Так как сначала идет проверка наличия класса в папке Cache, а потом уже в sys_cache — это сработает.

После
define('SYS_CACHE_TYPE_MEMORY','memory');
добавляем
define('SYS_CACHE_TYPE_XCACHE','xcache');


Перед
} else {
			throw new Exception($this->Lang_Get('system_error_cache_type').": ".$this->sCacheType." (file, memory)");
		}
добавляем дополнительну проверку
} elseif ($this->sCacheType==SYS_CACHE_TYPE_XCACHE) {
			require_once('Zend/Cache/Backend/Xcache.php');
			$oCahe = new Zend_Cache_Backend_Xcache(array());
			$this->oBackendCache = new Dklab_Cache_Backend_TagEmuWrapper(new Dklab_Cache_Backend_Profiler($oCahe,array($this,'CalcStats')));
		

В config/config.php прописываем
define('SYS_CACHE_TYPE','xcache')


Теперь кроме memory и file, LS поддерживает и xcache.