使用 Laravel Sail 時, sail 與容器互動的命令無響應的問題及解決辦法

myhui0926發表於2021-06-03

最近在使用 Laravel Sail 做開發環境時, 發現 sail 命令無法與容器互動,在執行入sail php -v,sail artisan migrate這類命令時,命令列沒有任何輸出,也沒有任何執行效果。

執行php artisan sail:install命令釋出docker-compose.yml檔案前,沒有在.env檔案內配置APP_SERVICE=custom_example.test環境變數來自定義服務名稱,而是自己直接在docker-compose.yml檔案內自定義了服務名稱:
使用 Laravel Sail 開發環境時,sail 命令無法與容器互動的原因與解決辦法
導致執行sail命令時,取得的服務名稱為預設的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 協議》,轉載必須註明作者和本文連結
順勢而為

相關文章