使用 Redis 引擎配置 Cakephp 2.6.0
Configure Cakephp 2.6.0 with Redis Engine
我正在尝试将 cakephp ver 2.6.0 配置为默认使用 redis 引擎。但不知何故我无法让它发挥作用。任何帮助将不胜感激。
到目前为止我已经尝试过的事情..
已配置 app/config 文件夹 2 个文件,core.php 和 bootstrap.php。 ,根据本博客此处提供的指南 configure cake with redis and this blog too Another cake-redis config setup
但我不断收到类似这样的错误。
致命错误:第 181 行 [=11] 中 C:\wamp\www\project\cakephp\cakephp_2.6.0\lib\Cake\Cache\Cache.php 中的消息 'Cache engine session is not properly configured.' 未捕获异常 'CacheException' =]
CacheException:缓存引擎会话配置不正确。在 C:\wamp\www\project\cakephp\cakephp_2.6.0\lib\Cake\Cache\Cache.php 第 181 行
任何帮助将不胜感激。
我今天在尝试设置 CakePHP 以使用 Redis 作为缓存引擎时遇到了同样的问题。
巧合的是,我也从您链接到的两个博客中阅读了相同的设置说明。
原因是我从 Another cake-redis config setup 博客 post 中原样复制粘贴了 Configure::write(...)
代码块并将其粘贴到文件中,而没有先注释掉 Configure::write(...)
代码块已经在 core.php 文件中。
我假设您已经成功设置 Redis on Windows and have installed the PHPRedis extension,没有任何问题。
我在这里使用 Another cake-redis config setup 中的说明。
在您的 app/Config/core.php 文件中,注释掉以下块:(这是从我的 core.php 中的第 218 行开始)
Configure::write('Session', array(
'defaults' => 'php'
));
相反,您可以将其放入:(您可以更改值以满足您的特定需要)
Configure::write('Session', array(
'defaults' => 'cache',
'timeout' => 100,
'start' => true,
'checkAgent' => false,
'handler' => array(
'config' => 'session'
)
));
这之后,把$engine的值改成'Redis',这样就变成了:
$engine = 'Redis';
然后,将此代码放入,我将其放在文件的最后:(同样,您的值可能会有所不同,具体取决于您的设置)
Cache::config ('session', array (
'Engine' => $engine,
'Prefix' => $prefix . 'cake_session_',
'Duration' => $duration
));
就是这样。你完成了!无需更改任何其他内容。
为了确保 Redis 与 CakePHP 一起正常工作,我 运行 CakePHP 附带的 RedisEngine 测试套件。您需要安装 PHPUnit 才能正常工作。
可以通过http://your-cakephp-project/test.php
访问
点击核心下的'Tests',然后点击'Cache/Engine/RedisEngine'
如果一切正常,您应该会看到所有测试都通过了。
或者,您可以在命令提示符下使用 redis-cli 来确认 Redis 正在正确存储密钥。
通过键入 redis-cli 登录后,键入 KEYS *
这应该会为您提供与您的 CakePHP 设置相关的键列表。
例如 "myapp_cake_core_object_map" 键。
希望这对您有所帮助。
我正在尝试将 cakephp ver 2.6.0 配置为默认使用 redis 引擎。但不知何故我无法让它发挥作用。任何帮助将不胜感激。
到目前为止我已经尝试过的事情..
已配置 app/config 文件夹 2 个文件,core.php 和 bootstrap.php。 ,根据本博客此处提供的指南 configure cake with redis and this blog too Another cake-redis config setup
但我不断收到类似这样的错误。
致命错误:第 181 行 [=11] 中 C:\wamp\www\project\cakephp\cakephp_2.6.0\lib\Cake\Cache\Cache.php 中的消息 'Cache engine session is not properly configured.' 未捕获异常 'CacheException' =]
CacheException:缓存引擎会话配置不正确。在 C:\wamp\www\project\cakephp\cakephp_2.6.0\lib\Cake\Cache\Cache.php 第 181 行
任何帮助将不胜感激。
我今天在尝试设置 CakePHP 以使用 Redis 作为缓存引擎时遇到了同样的问题。
巧合的是,我也从您链接到的两个博客中阅读了相同的设置说明。
原因是我从 Another cake-redis config setup 博客 post 中原样复制粘贴了 Configure::write(...)
代码块并将其粘贴到文件中,而没有先注释掉 Configure::write(...)
代码块已经在 core.php 文件中。
我假设您已经成功设置 Redis on Windows and have installed the PHPRedis extension,没有任何问题。
我在这里使用 Another cake-redis config setup 中的说明。
在您的 app/Config/core.php 文件中,注释掉以下块:(这是从我的 core.php 中的第 218 行开始)
Configure::write('Session', array(
'defaults' => 'php'
));
相反,您可以将其放入:(您可以更改值以满足您的特定需要)
Configure::write('Session', array(
'defaults' => 'cache',
'timeout' => 100,
'start' => true,
'checkAgent' => false,
'handler' => array(
'config' => 'session'
)
));
这之后,把$engine的值改成'Redis',这样就变成了:
$engine = 'Redis';
然后,将此代码放入,我将其放在文件的最后:(同样,您的值可能会有所不同,具体取决于您的设置)
Cache::config ('session', array (
'Engine' => $engine,
'Prefix' => $prefix . 'cake_session_',
'Duration' => $duration
));
就是这样。你完成了!无需更改任何其他内容。
为了确保 Redis 与 CakePHP 一起正常工作,我 运行 CakePHP 附带的 RedisEngine 测试套件。您需要安装 PHPUnit 才能正常工作。
可以通过http://your-cakephp-project/test.php
访问点击核心下的'Tests',然后点击'Cache/Engine/RedisEngine' 如果一切正常,您应该会看到所有测试都通过了。
或者,您可以在命令提示符下使用 redis-cli 来确认 Redis 正在正确存储密钥。
通过键入 redis-cli 登录后,键入 KEYS *
这应该会为您提供与您的 CakePHP 设置相关的键列表。
例如 "myapp_cake_core_object_map" 键。
希望这对您有所帮助。