daxter1987 / laravel-env
适用于带有 MySQL 的 Laravel 应用的环境
v1.0.7
2020-01-30 21:02 UTC
README
通过将此 composer 包安装到您的 Laravel 应用中,这将启用 php artisan dax:install
命令,该命令会在您的 Laravel 根目录中创建一个 docker-compose.yml 文件和一个 daxenv.sh 文件。然后您可以通过运行 docker compose up -d
来启动环境,并拥有一个带有数据库的 Laravel 环境。
要求
- 必须已安装 docker
- 必须已安装 docker-compose
安装
1. 使用 composer 安装,运行
composer require daxter1987/laravel-env
2. 安装完成后运行命令
php artisan dax:install
这将创建 2 个文件
- docker-compose.yml: 包含 2 个容器的 compose 文件
- Ubuntu 镜像,包含 nginx 和 Php 7.3
- 数据库镜像
- daxenv.sh: 包含运行环境的快捷方式文件
这也会检查您的 Laravel 项目的 .gitignore 文件,并在不存在的情况下添加 /db
行。这是 docker 存储本地数据库容器卷的文件夹。
3. [可选但推荐] 给 daxenv.sh 文件执行权限
如果您想使用快捷方式,可以通过运行以下命令给 daxenv.sh 文件执行权限
sudo chmod 777 daxenv.sh
4. 配置数据库
数据库连接凭据可以在您新创建的 docker-compose.yml
文件中找到。请确保在您的 .env
文件或 config/database.php
文件中正确配置了数据库连接。
MYSQL_ROOT_PASSWORD: root
MYSQL_DATABASE: db
MYSQL_USER: root
MYSQL_PASSWORD: root
使用方法
使用快捷方式
要启动环境,运行
./daxenv.sh up
要停止环境
./daxenv.sh down
要 ssh 进入 Laravel 容器
./daxenv.sh ssh
不使用快捷方式
要启动环境,运行
docker-compose up -d
要停止环境
docker-compose down
要 ssh 进入 Laravel 容器,运行 docker container ls
获取容器名称,然后将以下命令中的 CONTAINER_NAME 替换为容器名称
docker exec -it CONTAINER_NAME ssh
xdebug 和 PHPStorm
设置
容器自带 xdebug(如果运行 phpinfo(),您将看到配置)。要使用它,请设置 PHPStorm
-
转到 Languages and Frameworks > PHP > Servers 并设置
- Name: 项目名称
- Host: localhost
- Port: 8080
- Debugger Xdebug
- Use path mappings = true
- Set Absolute path on server /var/www/html
-
转到 "Add Configurations"
- 点击 +
- Select PHP remote Debug template
- Name: 项目名称
- Server: 之前创建的服务器
- IDE key: PHPSTORM
- 点击 Apply
运行
- 点击 Bug 图标
- 发送 GET 请求
?XDEBUG_SESSION_START=PHPSTORM
- 发送 POST 请求,将 XDEBUG_SESSION_START=PHPSTORM 作为参数