Laravel sail 添加 MongoDB
sail 本身没有附带 MongoDB 和 php MongoDB的 拓展,但是 sail 是使用 docker 创建的,我们可以很方便的去修改任何东西
安装PHP扩展
首先在目录下执行命令,发布配置文件到当前的 docker
目录下
sail artisan sail:publish
【Laravel sail 添加 MongoDB】进入到 docker 目录,找到对应的php版本目录,打开
Dockerfile
文章图片
编辑第31行,在最后加上
php8.0-mongodb
,加完以后如图文章图片
然后在命令行重新构建
sail build --no-cache
构建完成后,我们启动容器
sail up -d
到这一步,PHP的MongoDB拓展就安装好了
安装 jenssegers/mongodb 直接执行命令即可
sail composer require jenssegers/mongodb
安装MongoDB数据库 打开
docker-compose.yml
文件,添加以下内容,加在其他服务后面即可mongo:
image: 'mongo:4.4'
restart: always
environment:
MONGO_INITDB_ROOT_USERNAME: '${DB_USERNAME}'
MONGO_INITDB_ROOT_PASSWORD: '${DB_PASSWORD}'
MONGO_INITDB_DATABASE: '${DB_DATABASE}'
volumes:
- 'sailmongo:/data/db'
networks:
- sail
然后申明
volume
volumes:
sailmysql:
driver: local
sailredis:
driver: local
sailmeilisearch:
driver: local
sailmongo: # 这个是新加的
driver: local
配置 laravel 连接 最后,我们打开
config/database.php
'mongodb' => [
'driver' => 'mongodb',
'host' => env('DB_HOST'),
'port' => env('DB_PORT'),
'database' => env('DB_DATABASE') ,
'username' => env('DB_USERNAME'),
'password' => env('DB_PASSWORD'),
'options' => [
'database' => env('DB_AUTHENTICATION_DATABASE', 'admin'),
],
]
修改
.env
DB_CONNECTION = mongodb
DB_HOST = mongo
DB_PORT = 27017
DB_DATABASE = laravel_sail
DB_USERNAME = root
DB_PASSWORD = root
最后重新构建一下
sail up -d
好了,愉快的玩耍去吧
推荐阅读
- 编写字典程序
- 怎么将桌面上的CAD图纸添加到软件中进行BMP格式转换()
- laravel框架泛解
- 2147483647与int型
- 怎样把一个字典的数据添加到另一个字典中()
- 培养习惯的倦怠期可以添加变化~74
- 如何在Kubernetes|如何在Kubernetes 里添加自定义的 API 对象(一)
- Laravel|Laravel 实战项目(鲜花网)
- Ubuntu|Ubuntu 下添加开机启动脚本
- Laravel+vue公有/私有广播实战