daxter1987/laravel-env

适用于带有 MySQL 的 Laravel 应用的环境

v1.0.7 2020-01-30 21:02 UTC

This package is auto-updated.

Last update: 2024-09-29 04:49:52 UTC


README

通过将此 composer 包安装到您的 Laravel 应用中,这将启用 php artisan dax:install 命令,该命令会在您的 Laravel 根目录中创建一个 docker-compose.yml 文件和一个 daxenv.sh 文件。然后您可以通过运行 docker compose up -d 来启动环境,并拥有一个带有数据库的 Laravel 环境。

要求

  1. 必须已安装 docker
  2. 必须已安装 docker-compose

安装

1. 使用 composer 安装,运行

composer require daxter1987/laravel-env

2. 安装完成后运行命令

php artisan dax:install

这将创建 2 个文件

  1. docker-compose.yml: 包含 2 个容器的 compose 文件
    1. Ubuntu 镜像,包含 nginx 和 Php 7.3
    2. 数据库镜像
  2. 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

  1. 转到 Languages and Frameworks > PHP > Servers 并设置

    • Name: 项目名称
    • Host: localhost
    • Port: 8080
    • Debugger Xdebug
    • Use path mappings = true
    • Set Absolute path on server /var/www/html
  2. 转到 "Add Configurations"

    • 点击 +
    • Select PHP remote Debug template
      • Name: 项目名称
      • Server: 之前创建的服务器
      • IDE key: PHPSTORM
    • 点击 Apply

运行

  • 点击 Bug 图标
  • 发送 GET 请求
?XDEBUG_SESSION_START=PHPSTORM
  • 发送 POST 请求,将 XDEBUG_SESSION_START=PHPSTORM 作为参数