Laravel Homestead:安装 MongoDB 数据库
修改配置
如果你想在 Homestead 里安装 MongoDB 的话,只需要在 Homestead.yaml 中加入 mongodb: true
,同时features
中增加 mongodb: true
即可,如下:
Homestead.yaml
---
ip: "192.168.10.10"
memory: 2048
cpus: 1
provider: virtualbox
# 使用 MongoDB
mongodb: true
features:
- mongodb: true
.
.
.
应用修改
保存修改后,在 主机 中使用以下命令应用修改到 Homestead 虚拟机中:
> vagrant reload --provision
连接信息
虚拟机:
- host: 127.0.0.1
- user: homestead
- pass: secret
- port: 27017
主机:
- host: 192.168.10.10
- user: homestead
- pass: secret
- port: 27017
注:转发端口是一致的。
背后的代码
这里我们简单讲下以上操作背后的信息,以助于理解其工作原理。
当配置信息里设置了 mongodb: true
时,会触发 homestead.rb 里的这段操作 ,然后会去调用 Shell 脚本 install-mongo.sh 来安装 MongoDB 数据库。
高认可度评论:
按照楼主提供的方法,安装MongoDB会遇到一直卡住的情况:
按照上述路径访问,速度也还可以,请问这是什么问题?或者说是因为链接地址的问题,换镜像源(比如阿里云)怎么更换?
对了,尝试使用pecl安装也是提示有错误和失败!
2019-07-17更新:
安装了一晚上,上述步骤成功跳过,然后提示:
按照楼主提供的方法,安装MongoDB会遇到一直卡住的情况:
按照上述路径访问,速度也还可以,请问这是什么问题?或者说是因为链接地址的问题,换镜像源(比如阿里云)怎么更换?
对了,尝试使用pecl安装也是提示有错误和失败!
2019-07-17更新:
安装了一晚上,上述步骤成功跳过,然后提示:
2019.10.27更新,404是因为文件源的链接的问题,所以在使用homestead之前,请先更新源:
ubuntu 把软件源修改为国内源和更新https://www.cnblogs.com/flyinggod/p/7979108.html
更新完成以后,尝试过更改配置,mongodb:true,但是依然存在问题,所以就尝试自己进行安装。
1.安装mongodb扩展:
执行: sudo pecl install mongodb
警告:WARNING: channel "pecl.php.net" has updated its protocols, use "pecl channel-update pecl.php.net" to update
解决:执行 sudo pecl channel-update pecl.php.net
警告不影响扩展安装。
安装完成后会提示在php中加入Mongodb扩展,注意查看自己环境的php版本(php -v)。这里有个坑,就是在/etc/php/7.2/fpm/php.ini中加入,19.10.27更新,404是因为文件源的链接的问题,所以在使用homestead之前,请先更新源:
ubuntu 把软件源修改为国内源和更新https://www.cnblogs.com/flyinggod/p/7979108.html
更新完成以后,尝试过更改配置,mongodb:true,但是依然存在问题,所以就尝试自己进行安装。
1.安装mongodb扩展:
执行: sudo pecl install mongodb
警告:WARNING: channel "pecl.php.net" has updated its protocols, use "pecl channel-update pecl.php.net" to update
解决:执行 sudo pecl channel-update pecl.php.net
警告不影响扩展安装。
安装完成后会提示在php中加入Mongodb扩展,注意查看自己环境的php版本(php -v)。这里有个坑,就是在/etc/php/7.2/fpm/php.ini中加入,查看扩展(php -m)还没有,具体查看这个:http://www.jicker.cn/5631.html
原来在cli中还有一个php.ini也要加入扩展。加入完成,重启php:sudo service php7.2-fpm restart。查看。安装成功!
2.安装mongodb
因为更新了软件源,所以可以直接执行:sudo apt-get install -y mongodb-org
参考:CentOS7.4 安装mongodb https://www.jianshu.com/p/994bc7b19b26
参考:Ubuntu16.04使用阿里云镜像安装Mongodb https://blog.csdn.net/weixin_30414155/arti...
(注意:我安装的是4.0.0版本,如果使用镜像链接安装,请注意修改链接中的版本)!
等待大概20分钟,安装完成!
3.mongodb的使用
启动:sudo service mongod start
查看:ps -ef|grep mongo
安装暂时到此,后续有新的再更新!
后续整理来了:分享:Homestead 安装 MongoDB 以及扩展!
@她来听我的演唱会 你好! 我想请教下。
跟据你上面流程不知道为什么 mongodb 扩展报错,网上说可能 homestead 有个多 php 版本的 phpize 指向问题和 ./configure 指向配置。但是默认就是我指向的 php 7.2版本。还有就是sudo pecl install mongodb 下载的mongodb.so是放在 /usr/lib/php/20190902/ 这个文件夹的,但是我的 php7.2是指向 /usr/lib/php/20170718/这个文件夹的。我试了修改php.ini的为全目录路径extension=/usr/lib/php/20190902/mongodb.so 还是报如下这错!