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

好了,欢快的游玩去吧