新电脑,用 homebrew 安装了 php7.2 后发现缺少 redis 扩展,于是使用 pecl 安装。

执行 pecl install redis 后,发现报错:

Package "redis" Version "5.2.0" does not have REST dependency information available install failed

官网看了一下,发现 redis 扩展这个月刚刚发布了新版本 5.2.0,如图:

48003-09gm8xf8ij1l.png

担心是新版本的问题,于是尝试安装前一个稳定版:

pecl install redis-5.1.1

这次下载下来了,但解压报错:

downloading redis-5.1.1.tgz ...
Starting to download redis-5.1.1.tgz (245,205 bytes)
...................done: 81,920 bytes
ERROR: unable to unpack /private/tmp/pear/download/redis-5.1.1.tgz

既然已经下载下来了,然后尝试自己编译安装:

cd /private/tmp/pear/download/redis-5.1.1.tgz ./
tar -zxvf redis-5.1.1.tgz
cd redis-5.1.1
phpize 
./configure
make && make install

最终编译出来的版本在 /usr/local/Cellar/php@7.2/7.2.28/pecl/20170718/redis.so 这个位置。

新建配置文件 /usr/local/etc/php/7.2/conf.d/ext-redis.ini:

填入以下内容(注意 redis.so 文件应当与你的文件路径保持一致):

[redis]
extension="/usr/local/Cellar/php@7.2/7.2.28/pecl/20170718/redis.so"

执行 php -m | grep redis 发现 redis 扩展已经被识别了:

52519-hvh54w6s7wq.png

搞定~

等等,为啥我的网页还提示找不到 Redis 类呢? 因为我用的是 php-fpm 模式跑的,所以要重启一下 fpm 服务,执行:

brew services restart php@7.2 

即可。

标签: none

添加新评论