如何在 Homestead 中安装 Redis

发布日期 2022-06-07

Redis 是一个开源(BSD 许可),内存存储的数据结构服务器,可用作数据库,高速缓存和消息队列代理。它支持字符串、哈希表、列表、集合、有序集合,位图,hyperloglogs 等数据类型。在开发 Laravel 项目的时候可能需要使用 Redis,那如何在本地开发环境 Homestead 中安装 Redis 呢?

这篇文章是我在 Homestead 中安装 Redis 时做的记录,现在整理成博客文章分享出来,如果你有相同需求,可以做为一个参考。

编译安装 Redis 扩展

git clone https://github.com/phpredis/phpredis.git

cd phpredis

/usr/bin/phpize7.1 

./configure --with-php-config=/usr/bin/php-config7.1

make && make install

不同 PHP 版本的情况下 phpize 和 php-config 版本不同, 根据你的 PHP 版本更改, 注意 php-config 的版本和 phpize 的版本保持一致,比如你的 PHP 版本是 7.2,那么请使用 phpize7.2 和 php-config7.2。

  1. 查看 PHP 的 extension_dir 扩展目录:

    php -i|grep extension_dir
    extension_dir => /usr/lib/php/20160303 => /usr/lib/php/20160303
  2. redis.so 扩展模块移入 PHP 扩展目录中:

    sudo mv ./module/redis.so /usr/lib/php/20160303
  3. 添加 .ini后缀的 PHP 配置文件:

    sudo touch /etc/php/7.1/fpm/conf.d/20-redis.ini

    在配置文件里写入如下内容:

    extension=redis.so
  4. 重启 php-fpm

    sudo service php7.4-fpm restart
  5. 使用 phpinfo() 查看在扩展中出现 Redis 表示安装成功图片.png

可能遇到的问题

在安装过程中还遇到了一些问题,但愿你不会遇到,以下是我在安装 Redis 过程中遇到的问题以及解决我的解决方式。

Connection refused

修改配置文件 redis.conf 注释 bind 127.0.0.1

DENIED Redis is running in protected mode because protected mode is enabled ……

通过客户端(包括 redis-cli 或 jedis 等方式)连接 redis 实例时,出现以下错误,说明 Redis 服务的配置需要调整,即 Redis 开启了保护模式(默认开启),同时 Redis 又没有设置访问密码造成的。仔细阅读报错,可以发现,Redis 提供了 4 中解决该报错的方式,具体如下: 我选择第四种方案,修改配置文件 redis.conf ,将 protected-mode yes 改为 protected-mode no

站长:SevDot


SevDot 的头像

微信公众号