Homestead 安装 PHP Redis 扩展
最近在使用 vagrant 安装 homestead 后,运行代码时提示 Redis 对应的 Class 不存在,其实是缺少对应的 PHP Redis 扩展,在安装的过程中遇到不少坑,记录到这篇文章里了
- 首先通过
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, 方式有多种:
- 一种是安装完成时会有提示扩展的安装目录,如下图
- 使用命令
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
安装对应的包了
- 参考文章:https://blog.csdn.net/wangshu...
- 最后推荐有课学微信公众号,有课学是一站式的课程返现平台,目前已经支持极客时间,segmentfault, 掘金,imooc 和 网易云课堂 课程返现。
相关推荐
独行者0 2020-05-10
木马屠城 2020-05-09
xsgnzb 2019-09-03
韩吉鑫 2019-07-01
标题 2019-07-01
LipperZ 2019-06-28
wishy 2019-06-28
superhosts 2019-06-28
时间猎人 2019-06-27
admin 2019-06-27
时间猎人 2019-06-27
cxymds 2019-06-26
wxtyixiao 2019-06-26
zhuifengtjy 2019-06-25
Colphin 2019-06-25
标题 2019-06-25
时间猎人 2019-06-21
怕什么真理无穷 2019-06-21
LipperZ 2019-06-21