在 Homestead 环境安装 phpredis 扩展

  • 首先通过 vagrant ssh 进入 homestead
  • 下载 & 编译 PHP Redis 扩展

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

cd phpredis

/usr/bin/phpize5.6 (不同php版本的情况phpize版本不同)

./configure --with-php-config=/usr/bin/php-config5.6 (这里边也需要根据情况指定 php-config 的版本,且和 phpize 的版本保持一致。)

make && make install

. {note} 编译完成后,redis的php扩展在module目录中,它的文件名是redis.so*

  • 查看 PHP 的 extension_dir, 方式有多种:

    1. 一种是安装完成时会有提示扩展的安装目录,如下图
      clipboard.png
    2. 使用命令 php -i|grep extension_dir
  • 把 redis.so 扩展模块移入 PHP 扩展目录中

sudo mv ./modules/redis.so /usr/lib/php/20131226

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

创建一个文件
sudo touch /etc/php/5.6/fpm/conf.d/20-redis.ini
使用vi编辑器写入如下内容:
extension=redis.so

  • 万事大吉,重启 php-fpm

sudo service php5.6-fpm restart
再次在网页中使用phpinfo()时就会发现,redis 扩展出现了,new Redis()可用了。

说下主要遇到的坑

就是执行 phpize 相关命令时,提示未找到,homestead 中有 php5.6、php7.0、php7.1、php7.2,基于我使用了 php5.6 才会出现此情况,需要安装 php-dev, 使用 sudo apt install php-dev 的时候提示找不到对应的包,执行 apt search php-dev 也找不到,得通过 apt search php5.6-dev 就能获取到对应的包地址(自己是偶然执行 apt search php5 然后才知道对应的包名为 php5.6-dev 的),知道了包名后就是直接使用 sudo apt install 安装对应的包了

houmuxu
《L01 基础入门》
我们将带你从零开发一个项目并部署到线上,本课程教授 Web 开发中专业、实用的技能,如 Git 工作流、Laravel Mix 前端工作流等。
《G01 Go 实战入门》
从零开始带你一步步开发一个 Go 博客项目,让你在最短的时间内学会使用 Go 进行编码。项目结构很大程度上参考了 Laravel。
讨论数量: 0
(= ̄ω ̄=)··· 暂无内容!

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!