Я настраиваю кеширование для приложения CakePHP и очень трудно заставить его общаться с Memcache.
Я написал код кеширования при тестировании на движке кеширования на основе файлов, и вся логика вполне обоснована. Когда я наблюдаю отладочный трафик, кэши попадают, пропускают и истекают правильно. Я хотел переключиться на Memcache, потому что кэш на базе Filesytem не дает какого-либо улучшения производительности, но я не могу заставить его работать вообще.
Как только я меняю Caching Engine в Cache :: config на Memcache, я получаю следующую ошибку:
Warning (512): Cache not configured properly. Please check Cache::config(); in APP/config/core.php [CORE/cake/libs/configure.php, line 663]
Это происходит с помощью простого вызова конфигурации, например:
Cache::config('default', array(
'engine' => 'Memcache'
));
Или более сложный, например, предложенный по умолчанию в core.php:
Cache::config('default', array(
'engine' => 'Memcache', //[required]
'duration'=> 3600, //[optional]
'probability'=> 100, //[optional]
'prefix' => Inflector::slug(APP_DIR) . '_', //[optional] prefix every cache file with this string
'servers' => array(
'127.0.0.1:11211' // localhost, default port 11211
), //[optional]
'compress' => false, // [optional] compress data in Memcache (slower, but uses less memory)
));
Cache.check установлен в true, например, Configure::write('Cache.check', true);
, а Cache.disable не установлен. Опять же, вся логика кэширования работает отлично, пока я использую 'engine' => 'File'
.
Я получаю ту же ошибку, независимо от того, работает memcached или нет. Эта ошибка, по-видимому, охватывает массу различных проблем - расширенный поиск выявил огромное разнообразие потенциальных решений проблем с этим сообщением об ошибке. Я дважды проверил, что мои каталоги tmp существуют (согласно http://ryan.ifupdown.com/2009/08/05/warning-512-cache-not-configured-properly-please-check-cacheconfig-in-appconfigcore-php-corecakelibsconfigure-php-line-663/), Я работаю в Ubuntu, поэтому нет проблем с маршрутизацией (которые были проблемой в прошлом, по https://trac.cakephp.org/ticket/4433 и http://cakephp.1045679.n5.nabble.com/cake-1-2-problem-with-cache-td1302563.html). Я использую относительно старую версию Cake (1.2.5), но я попытался обновить и получил то же сообщение об ошибке (наряду с миллионом других ошибок, связанных с обновлением, на которые у меня нет времени искать) вниз.)
Есть ли способ получить более подробную информацию из Cake о том, что на самом деле идет не так? У меня такое ощущение, что эта ошибка - всего лишь ошибка для всего, что идет не так при инициализации класса кэша, и существует множество потенциальных проблем. Изменение уровня отладки до 3 больше ничего не показывает. Если бы я мог получить больше информации, я мог бы что-то сделать, но я полностью ослеп. Я в основном новичок в Cake, поэтому любые рекомендации по работе с причудливыми ошибками в Cake будут очень благодарны!