laravel 使用 sail 开发技巧

前置条件

  1. 首先需要需要确保当前系统已经安装好了 docker 环境。
  2. 当前系统的 php 版本于所需 laravel 的依赖版本不一致。

步骤

  1. 安装 laravel 项目

在系统中使用如下命令安装 laravel 项目 my-laravel-app,其中的 php83 可更换为所需的 php 版本,如 74、80、81。

1
# docker run --rm -v $(pwd):/var/www -w /var/www laravelsail/php83-composer:latest composer create-project --prefer-dist laravel/laravel my-laravel-app
  1. 安装所需的 sail 服务
    1. 进入容器
    2. 进入项目目录
    3. 使用命令添加 sail 服务
    4. 使用空格键选择所需的服务后,按回车键后安装,项目目录中会生成 docker-compose.yml 文件
1
2
3
# docker run -it --rm -v $(pwd):/var/www -w /var/www laravelsail/php83-composer:latest bash
# cd my-laravel-app
# php artisan sail:add
  1. 查看 docker-compose.yml 文件内容并根据需要进行修改(一般不需要修改)

  2. 修改 .env 文件

    因系统端口号可能有冲突,可以在 .env 根据 docker-compose.yml 中的变量进行添加,以下是常用的几个变量需要修改,其他的根据具体需求进行修改。

    • APP_PORT 为项目的端口号
    • FORWARD_DB_PORT 为数据库的端口号
    • FORWARD_REDIS_PORT 为 redis 的端口号
  3. 运行项目

    使用下面的命令以后台的方式运行项目

1
# ./vendor/bin/sail up -d
  1. 查看项目是否正常
    1. 使用浏览器打开 127.0.0.1:APP_PORT 查看页面是否正常
    2. 使用数据库工具连接 mysql
    3. 使用数据库工具连接 redis

其他是用技巧

配置 sail 别名访问

将以下内容添加到 ~/.zshrc 或 ~/.bashrc ,然后重新启动你的 shell,就可以是用 sail 来执行命令了。

1
alias sail='[ -f sail ] && sh sail || sh vendor/bin/sail'

执行 php 命令

1
2
3
# sail php --version

# sail php script.php

执行 Composer 命令

1
# sail composer require laravel/sanctum

执行 Artisan 命令

1
# sail artisan queue:work

执行 Node/NPM 命令

1
2
3
# sail node --version

# sail npm run dev

容器 cli

1
2
3
# sail shell

# sail root-shell

执行 tinker

1
# sail tinker

laravel 使用 sail 开发技巧
http://blog.xiangdangnian.net.cn/2024/02/29/laravel开发使用 sail开发技巧/
作者
chenggx
发布于
2024年2月29日
许可协议