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 协议》,转载必须注明作者和本文链接
本帖由系统于 6个月前 自动加精
《L03 构架 API 服务器》
你将学到如 RESTFul 设计风格、PostMan 的使用、OAuth 流程,JWT 概念及使用 和 API 开发相关的进阶知识。
《L04 微信小程序从零到发布》
从小程序个人账户申请开始,带你一步步进行开发一个微信小程序,直到提交微信控制台上线发布。
讨论数量: 4

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

7个月前 评论
maskers (作者) 7个月前
Aniu (楼主) 7个月前

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

6个月前 评论

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

5个月前 评论
di-gua 1个月前

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

3周前 评论

请勿发布不友善或者负能量的内容。与人为善,比聪明更重要!