sail 自身没有附带 MongoDB 和 php MongoDB的 拓展,然而 sail 是应用 docker 创立的,咱们能够很不便的去批改任何货色
装置PHP扩大
首先在目录下执行命令,公布配置文件到以后的 docker
目录下
sail artisan sail:publish
进入到 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 = mongodbDB_HOST = mongoDB_PORT = 27017 DB_DATABASE = laravel_sailDB_USERNAME = rootDB_PASSWORD = root
最初从新构建一下
sail up -d
好了,欢快的游玩去吧