waRedisCacheAdapter, почему не работает?
Пишу небольшой адаптер под Redis, чтобы не пользоваться memcached-ом. Написал все по аналогии с memcached-ом, закомментил все строчки в файле index.php (точка входа во фреймворк), написал свой тестовый пример:
<?php
$redis = new Redis;
$redis->pconnect('127.0.0.1');
$redis->set('test', 'Test works');
echo $redis->get('test');
$redis->flushAll();Все работает отлично, надпись выводится.
Далее, в файле cache.php делаю так:
<?php
return array(
'default' => array(
'type' => 'redis',
),
);В итоге, должен заинклюдится файл waRedisCacheAdapter.class.php и вызваться класс waRedisCacheAdapter. Я получаю вот такую ошибку:
Fatal error: Uncaught Error: Class 'waRedisCacheAdapter' not found in C:\OpenServer\domains\shopscript.local\wa-system\config\waAppConfig.class.php:66 Stack trace: #0 C:\OpenServer\domains\shopscript.local\wa-system\waSystem.class.php(254): waAppConfig->getCache('default') #1 C:\OpenServer\domains\shopscript.local\wa-system\routing\waRouting.class.php(254): waSystem->getCache() #2 C:\OpenServer\domains\shopscript.local\wa-system\routing\waRouting.class.php(298): waRouting->getPageRoutes('shop', Array) #3 C:\OpenServer\domains\shopscript.local\wa-system\routing\waRouting.class.php(213): waRouting->getAppRoutes('shop', Array, true) #4 C:\OpenServer\domains\shopscript.local\wa-system\waSystem.class.php(572): waRouting->dispatch() #5 C:\OpenServer\domains\shopscript.local\index.php(7): waSystem->dispatch() #6 {main} thrown in C:\OpenServer\domains\shopscript.local\wa-system\config\waAppConfig.class.php on line 66Сам файл лежит по пути:
wa-system/cache/adapters/waRedisCacheAdapter.class.php
Вот его содержимое:
<?php
class waRedisCacheAdapter extends waCacheAdapter
{
/**
* @var Redis
*/
protected static $redis;
protected function init()
{
if (!self::$redis) {
self::$redis = new Redis;
self::$redis->pconnect('127.0.0.1', 6379);
}
}
public function key($key, $app_id, $group = null)
{
return (isset($this->options['namespace']) ? $this->options['namespace'] . '/' : '') . parent::key($key, $app_id . $group);
}
public function get($key)
{
return self::$redis->get($key);
}
public function set($key, $value, $expiration = null, $group = null)
{
return self::$redis->set($key, $value, $expiration);
}
public function delete($key)
{
return self::$redis->delete($key);
}
public function deleteGroup($group)
{
return self::$redis->flushAll();
}
public function deleteAll()
{
return self::$redis->flushAll();
}
}Сам адаптер - простецкий стартовый адаптер, лишь бы проверить зацеп так сказать. Мне главное чтобы фреймворк подцепил сам файл, работу методов потом причешу. В чем может быть проблема?
P.S. Пробовал на своей VPS поднимать Redis, там линукс и все дела, и все тоже самое: тестовый сниппет кода отрабатывает, а вот фреймворк почему то выдает ошибку.
Подскажите, куда смотреть?
Эта тема в архиве. Добавление комментариев к ней отключено.










2 ответа
В файл wa-system/autoload/waAutoload.class.php
Доработали плагин?