Homestead中PHP扩展无phpize难以安装redis扩展的问题及解决办法

这真是一个非常深的坑。
homestead中自带很多版本的php。然而扩展中缺没有phpize,这个东西是php添加扩展需要的东西
本人在laravel中需要用到Redis扩展。这个和laravel的predis是存在区别的。predis相当于一个类包。
而我需要的是PHP的extension。。然后就开始了我的采坑之旅!

废话不说了,上解决方法。
首先:
第一步
我是homestead的Ubuntu系统。
首先重新装下php的环境包,这是为了让phpize出来!因为不知道为什么现在homestead自带的没有

sudo apt install php7.2-dev

如果你用的不是php7.2,而是7.1那你就改成sudo apt install php7.1-dev
然后可能会下载不到资源,因为资源本身在国外。你需要修改下载源为国内的镜像源。
点我看怎么修改
安装的时候遇到提示都选择替换。
安装完毕检查/usr/bin会发现这时phpize和它对应的版本。
第二步
安装redis为php添加上redis扩展。
如果权限不够产生问题请自己加上代码sudo!
如:sudo git clone https://github.com/phpredis/phpredis.git

$ git clone https://github.com/phpredis/phpredis.git
$ cd phpredis                   
$ /usr/bin/phpize7.1  (不同php版本的情况下phpize版本不同)
$ ./configure --with-php-config=/usr/bin/php-config7.1 (这里边也需要根据情况指定php-config的版本,且和phpize的版本保持一致。)
$ make && make install

安装完毕后为php添加redis扩展。本人这里是php7.2

sudo find / -name redis.so 
# 找到编译的 redis.so 文件
php7.2 -i|grep extension_dir 
# 找到 php7.2 对应的扩展目录( /usr/lib/php/20170718)
sudo mv /usr/local/src/phpredis/modules/redis.so /usr/lib/php/20170718/redis.so  
sudo vim /etc/php/7.2/fpm/conf.d/20-redis.ini
# 20-redis.ini 是新加的,以前是没有的
# 再 20-redis.ini 中添加 extension=redis.so ,保存退出。
# 通常,添加扩展是在 php.ini 中,这里是在 fpm/conf.d 添加。

最后
重启服务

sudo service php7.2-fpm restart

看看phpinfo()是不是有redis了
或者
php -m(有时候phpinfo有,这里没有)

主要是phpinfo显示有了redis的扩展就行
在这里插入图片描述
最最后
web代码测试一下

$redis = new \Redis();
//连接
$redis->connect('127.0.0.1', 6379);
//检测是否连接成功
echo "Server is running: " . $redis->ping();die;

如果显示
Server is running: 1
完结撒花~
注:new Redis()的时候要区分好是扩展的Redis还是laravel的predis!

有疑问或者不足请留言,欢迎找茬~

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
Laravel Homestead是一个方便的开发环境,可以帮助你在本地快速搭建一个与生产环境相似的开发环境。而Elasticsearch是一个开源的分布式搜索和分析引擎,可以用于实时搜索、日志分析、数据可视化等场景。 要在Laravel Homestead安装elasticsearch,你可以按照以下步骤进行操作: 1. 首先,确保你已经安装了Laravel Homestead。如果还没有安装,请参考Laravel官方文档安装指南。 2. 打开Homestead.yaml文件,该文件位于你的Homestead目录下。在该文件,找到`sites`部分,并添加一个新的站点配置,例如: ``` sites: - map: yoursite.test to: /home/vagrant/Code/your-site/public ``` 3. 保存并关闭Homestead.yaml文件。 4. 运行`vagrant reload --provision`命令来重新加载Homestead配置。 5. 进入Homestead虚拟机,运行`vagrant ssh`命令。 6. 在Homestead虚拟机,使用以下命令安装elasticsearch: ``` sudo apt-get update sudo apt-get install openjdk-8-jdk wget -qO - https://artifacts.elastic.co/GPG-KEY-elasticsearch | sudo apt-key add - sudo apt-get install apt-transport-https echo "deb https://artifacts.elastic.co/packages/7.x/apt stable main" | sudo tee -a /etc/apt/sources.list.d/elastic-7.x.list sudo apt-get update sudo apt-get install elasticsearch ``` 7. 安装完成后,启动elasticsearch服务: ``` sudo systemctl enable elasticsearch.service sudo systemctl start elasticsearch.service ``` 现在,你已经成功在Laravel Homestead安装了elasticsearch。你可以通过访问`yoursite.test`来验证elasticsearch是否正常工作。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值