Homestead 安装 PHP Redis 扩展

虽然 Laravel 可以通过安装 predis/predis:~1.1 对 Redis 进行操作,但是还是想脱离框架,用 PHP 操作 Reids,通过安装 PHP Redis 既可实现,以下是具体的安装步骤:

下载最新安装包#

vagrant@homestead:/usr/local/src$ sudo git clone https://github.com/phpredis/phpredis.git
Cloning into 'phpredis'...
remote: Enumerating objects: 41, done.
remote: Counting objects: 100% (41/41), done.
remote: Compressing objects: 100% (34/34), done.
remote: Total 10462 (delta 19), reused 17 (delta 7), pack-reused 10421
Receiving objects: 100% (10462/10462), 6.38 MiB | 31.00 KiB/s, done.
Resolving deltas: 100% (7214/7214), done.

使用 phpize 命令完成 php 环境的检测#

vagrant@homestead:/usr/local/src$ cd phpredis/

vagrant@homestead:/usr/local/src/phpredis$ sudo /usr/bin/phpize7.3 #不同php版本的情况下phpize版本不同
Configuring for:
PHP Api Version:         20180731
Zend Module Api No:      20180731
Zend Extension Api No:   320180731

vagrant@homestead:/usr/local/src/phpredis$ sudo ./configure --with-php-config=/usr/bin/php-config7.3

编译安装#

vagrant@homestead:/usr/local/src/phpredis$ sudo make && make install

Build complete.
Don't forget to run 'make test'.

Installing shared extensions:     /usr/lib/php/20180731/
Makefile:87: recipe for target 'install-modules' failed
make: *** [install-modules] Error 1

查看扩展#

vagrant@homestead:/usr/local/src/phpredis$ php -i|grep extension_dir

extension_dir => /usr/lib/php/20180731 => /usr/lib/php/20180731

把 redis.so 扩展模块移入 PHP 扩展目录中#

vagrant@homestead:/usr/local/src/phpredis$ sudo mv ./modules/redis.so /usr/lib/php/20180731/

添加 PHP 配置文件的 ini 文件#

创建文件
vagrant@homestead:/usr/local/src/phpredis$ sudo touch /etc/php/7.3/fpm/conf.d/20-redis.ini
使用vi编辑器写入如下内容:
extension=redis.so

重启 php-fpm#

vagrant@homestead:/usr/local/src/phpredis$ sudo service php7.3-fpm restart

查看是否安装成功#

<?php
phpinfo();
?>
如果看到Redis的扩展则安装成功

Homestead 安装 PHP Redis 扩展

终端无法连接 homestead 的 Reids#

1)修改redis配置文件(默认路径/etc/redis/redis.conf)
bind 127.0.0.1 修改为 bind 0.0.0.0
2)修改完配置后重启redis
执行命令sudo service redis restart后,使用redis-cli访问redis

Homestead 安装 PHP Redis 扩展

本作品采用《CC 协议》,转载必须注明作者和本文链接
本帖由系统于 5年前 自动加精
《L05 电商实战》
从零开发一个电商项目,功能包括电商后台、商品 & SKU 管理、购物车、订单管理、支付宝支付、微信支付、订单退款流程、优惠券等
《L04 微信小程序从零到发布》
从小程序个人账户申请开始,带你一步步进行开发一个微信小程序,直到提交微信控制台上线发布。
讨论数量: 12

为什么我的 php 文件夹下没有默认生成 20180721 这个文件夹

5年前 评论
maskers (作者) 5年前
Aniu (楼主) 5年前
ruanwenwu 2年前
ruanwenwu 2年前

make && make install 后不需要再手动把.so 文件移入到 php 拓展文件夹了,会自动复制一份过去的

5年前 评论

您好,我 homestead 初始化后就是有 redis 的,那么和 phpredis 有什么区别的呢?两者不一样吗?

5年前 评论
JerryBool 4年前

对 php-cli 模式下模块配置同理,只不过路径需要变更下或者直接将 20-redis.ini 文件复制到 /etc/php/7.1/cli/conf.d/

homestead 中的 php 可能会没有 phpize 工具,需要自行安装:www.cnblogs.com/ly570/p/11173774.h...

4年前 评论

@程序员二毛 再次回来看此贴,有了新的教训:1 执行 sudo /usr/bin/phpize7.3 时,记得去指定 php 版本,不能因为用的是默认版本就不指定;2 执行 sudo ./configure --with-php-config=/usr/bin/php-config7.3 时同理。3 记得查看执行 1 之后的文件信息是否跟你执行 php -i|grep extension_dir 的一致!!!

4年前 评论

@程序员二毛 确实的,因为 homestead 存在多个 php 版本,设置的时候需要注意。

4年前 评论

我添加了 redis.so 重启 phpinfo 还是没有呢

4年前 评论