Php 无法为Laravel Sail在.env上设置应用程序端口
我在Windows 10中遇到以下问题(在Ubuntu中正常工作): 我和赛欧在拉威尔8号工作 当我在Php 无法为Laravel Sail在.env上设置应用程序端口,php,laravel,docker,laravel-8,laravel-sail,Php,Laravel,Docker,Laravel 8,Laravel Sail,我在Windows 10中遇到以下问题(在Ubuntu中正常工作): 我和赛欧在拉威尔8号工作 当我在.env上创建APP\u端口变量时 APP_NAME=Laravel APP_ENV=local APP_KEY= APP_DEBUG=true APP_URL=http://localhost APP_PORT=3000 …并使用向上航行启动web我收到以下错误: services.laravel.test.ports contains an invalid type, it should
.env
上创建APP\u端口
变量时
APP_NAME=Laravel
APP_ENV=local
APP_KEY=
APP_DEBUG=true
APP_URL=http://localhost
APP_PORT=3000
…并使用向上航行启动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
文件
提前谢谢。快进
sudo APP_PORT=3001 ./vendor/bin/sail up
我唯一能做的就是工作。仍然不知道为什么其他配置不允许它进入。envWindows 10中的Laravel Sail(Docker)解决方案是将.env
下线从CRLF更改为LF。我发现它是因为我试图从另一个问题解决这个警告,我想
./.env: line X: $'\r': command not found
/usr/bin/env: bash: No such file or directory
在我解决了EOL冲突后,sail-up
命令能够读取所有环境变量。我还在以下文件中将EOL更改为LR:
.env
artisan
docker/7.4/start-container
docker/8.0/start-container
vendor/laravel/sail/runtimes/8.0/start-container
vendor/laravel/sail/runtimes/7.4/start-container
很清楚为什么Ubuntu上没有出现这个问题。${APP_PORT:-80}:80
这里${APP_PORT:-80}
这是容器端口,它将是8000,因为php artisan serve
在该端口上运行,80
是您的本地机器端口。我想更改您的本地机器端口吗?谢谢您的评论。实际上,我的拉威尔帆是在80号端口上使用的,我知道默认情况下artisan是在8000号端口上使用的,但80号端口是“Sail up”给我的。我想更改我的主机端口(在左边)我不关心容器端口使用-${APP_port:-80}:${APP_CLIENT_port}
并在.env
中创建一个新的类似APP_CLIENT_port=3000
@KamleshPaul你把“CLIENT”称为什么?对主机还是对客户?客户机意味着哪个端口将占用您的端口docker(主机)
您的机器是客户机请看我的答案,也许我可以帮助您