【问题标题】:Cache engine search is not properly configured Cakephp 2.4.3缓存引擎搜索未正确配置 Cakephp 2.4.3
【发布时间】:2021-04-30 21:56:40
【问题描述】:

蛋糕版本:2.4.3
PHP:5.6
Redis:6.0
码头工人:3.1

我正在运行一个蛋糕项目 2.4.3 并且出现错误

Cache engine search is not properly configured.
Error: An Internal Error Has Occurred.

APP\Config\bootstrap.php 第 159 行 → Cache::config(string, array)

'search'
array(
    'port' => '*****',
    'prefix' => '*****',
    'engine' => 'Redis',
    'server' => '172.30.1.5',
    'duration' => (int) 1
)

我该如何解决这个问题? 谢谢大家!

【问题讨论】:

    标签: php cakephp redis cakephp-2.4 cakephp-2.x


    【解决方案1】:

    这个错误信息可能有点误导,因为它不一定与配置有关,它在后来的 2.x 版本中被更改为:

    缓存引擎“%s”配置不正确。确保安装了所需的扩展,并且凭据/权限正确

    检查这些东西,尝试在CakePHP源码中调试,redis连接是在RedisEngine::_connect()方法中建立的,位于lib/Cake/Cache/Engine/RedisEngine.php

    可能的异常可能包含有用的信息。 $this->_Redis->getLastError() 也可能。

    【讨论】:

    • 我在 Docker 中使用 redis 6.0,Cakephp 似乎无法连接我的 Redis,我使用 Laravel 连接正常
    【解决方案2】:

    我发现问题是我的 PHP 5.6 扩展没有启用 Redis

    安装 Redis 扩展 PHP5.6

    apt-get install wget
    mkdir ~/redis
    cd ~/redis
    wget  https://pecl.php.net/get/redis-2.2.8.tgz
    tar zxpf redis*
    cd redis*
    phpize
    ./configure --with-option=/path/etc
    make && make install
    

    编辑文件 php.ini 添加

    extension=redis.so
    

    然后重启服务器。享受吧!

    【讨论】:

      猜你喜欢
      • 2014-07-08
      • 1970-01-01
      • 2016-07-30
      • 2015-06-07
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多