我在Windows 10中遇到以下问题(在Ubuntu中正常工作):
我在Laravel 8中使用Sail当我在.env
上创建APP_PORT
变量时...
APP_NAME=Laravel
APP_ENV=local
APP_KEY=
APP_DEBUG=true
APP_URL=http://localhost
APP_PORT=3000
...并使用sail up
启动Web,我得到以下错误:
services.laravel.test.ports contains an invalid type, it should be a number, or an object
这就是docker-compose.yml
的外观
version: '3'
services:
laravel.test:
build:
context: ./docker/8.0
dockerfile: Dockerfile
args:
WWWGROUP: '${WWWGROUP}'
image: sail-8.0/app
ports:
- '${APP_PORT:-80}:80'
...
我知道我可以只放ports: - '3000:80'
,但因为我在团队中工作,php artisan sail:install
命令将覆盖docker-compose.yml
文件,所以我不想更改docker-compose.yml
文件。
先谢谢你了。
6条答案
按热度按时间wydwbb8l1#
航行
这是我做的唯一方法。我仍然不知道为什么其他配置不允许它在。env中
d7v8vwbk2#
不需要更改docker-compose.yml文件,只需在.env文件中添加一行即可:
1.在.env文件中添加一行
APP_PORT=3001 //or instead of 3001 any other port number of your choice
1.重新开始航行
sail up
1.现在,您应该能够使用在步骤1中设置的端口号访问应用程序
http://localhost:3001
pinkon5k3#
Laravel Sail(Docker)在Windows 10上的解决方案是将
.env
EOL从CRLF更改为LF。我发现它是因为我试图解决另一个问题的警告:在我解决了EOL冲突后,
sail up
命令能够读取所有环境变量。我还在以下文件中将EOL更改为LR:很明显为什么这个问题在Ubuntu上没有出现。
mpgws1up4#
添加到您的.env:
prdp8dxp5#
下面是您必须在
.env
文件中设置/更改的端口(如果其中任何一个已经被占用):gcxthw6b6#
你也应该检查这个文件:
vendor/laravel/framework/src/Illuminate/Foundation/Console/ServeCommand.php
并更改默认端口,所以当你输入cmd php artisan serve时,它实际上改变了端口。
使用php artisan serve --host=0.0.0.0 --port=8080进行绑定,只需要一次即可。