使用 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 管理、购物车、订单管理、支付宝支付、微信支付、订单退款流程、优惠券等
《L02 从零构建论坛系统》
以构建论坛项目 LaraBBS 为线索,展开对 Laravel 框架的全面学习。应用程序架构思路贴近 Laravel 框架的设计哲学。
讨论数量: 0
(= ̄ω ̄=)··· 暂无内容!

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