問題描述
最近在使用 Laravel Sail 做開發環境時, 發現 sail 命令無法與容器互動,在執行入sail php -v
,sail artisan migrate
這類命令時,命令列沒有任何輸出,也沒有任何執行效果。
問題原因
執行php artisan sail:install
命令釋出docker-compose.yml
檔案前,沒有在.env
檔案內配置APP_SERVICE
環境變數來自定義服務名稱,而是直接修改docker-compose.yml
檔案定義:
導致執行sail
命令時,由於沒有檢測到APP_SERVICE
環境變數,取得的服務名稱為預設的laravel.test
,而不是custom_example.test
。
解決辦法
在.env
檔案內配置APP-SERVICE
項,使之與docker-compose.yml
檔案中的服務名稱一致:
接下來執行sail
命令與容器互動,看看是否生效:
sail php -v
執行結果:
很明顯生效了。
再試試:
sail tinker
執行結果:
生效了。
至此,問題得以解決。
本作品採用《CC 協議》,轉載必須註明作者和本文連結