使用 sail 执行 artisan 等命令无响应

使用 sail 执行 artisan 等命令无响应

问题描述

最近在使用 Laravel Sail 做开发环境时, 发现 sail 命令无法与容器交互,在执行入sail php -v,sail artisan migrate这类命令时,命令行没有任何输出,也没有任何执行效果。

问题原因

执行php artisan sail:install命令发布docker-compose.yml文件前,没有在.env文件内配置APP_SERVICE环境变量来自定义服务名称,而是直接修改docker-compose.yml文件定义:
使用 Laravel Sail 开发环境时,sail 命令无法与容器交互的原因与解决办法
导致执行sail命令时,由于没有检测到APP_SERVICE环境变量,取得的服务名称为默认的laravel.test,而不是custom_example.test

解决办法

.env文件内配置APP-SERVICE项,使之与docker-compose.yml文件中的服务名称一致:

使用 Laravel Sail 开发环境时,sail 命令无法与容器交互的原因与解决办法
接下来执行sail命令与容器交互,看看是否生效:

sail php -v

执行结果:
使用 Laravel Sail 开发环境时,sail 命令无法与容器交互的原因与解决办法
很明显生效了。

再试试:

sail tinker

执行结果:

使用 Laravel Sail 开发环境时,sail 命令无法与容器交互的原因与解决办法
生效了。
至此,问题得以解决。

本作品采用《CC 协议》,转载必须注明作者和本文链接
顺势而为
《L05 电商实战》
从零开发一个电商项目,功能包括电商后台、商品 & SKU 管理、购物车、订单管理、支付宝支付、微信支付、订单退款流程、优惠券等
《L01 基础入门》
我们将带你从零开发一个项目并部署到线上,本课程教授 Web 开发中专业、实用的技能,如 Git 工作流、Laravel Mix 前端工作流等。
讨论数量: 0
(= ̄ω ̄=)··· 暂无内容!

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!