Flywheel 的 Laravel Valet & Local 存在 DNS 冲突,无法在 Mac 上协同工作

问题描述

我正在尝试让 ValetLocal 在 Mac 上协同工作,但没有成功。 dnsmasq 可能存在 DNS 冲突。
例如我有这两个站点,使用认配置设置:


本地站点

local-site.local

Local 是为在本地设置 wordpress 站点而优化的环境。我正在使用所有认设置。本地可以在这里下载:https://localwp.com/

代客站点

valet-site.test

Valet 配置也没有什么特别之处:

/Users/goran/.config/valet/config.json

{
    "tld": "test","paths": [
        "/Users/goran/.config/valet/Sites","/Users/goran/projects"
    ]
}

/Users/goran/.config/valet/dnsmasq.d/tld-test.conf

address=/.test/127.0.0.1
listen-address=127.0.0.1



注意:两个网站都有不同的后缀,所以后缀应该不是问题。

场景 #1

同时启动 Valet 和 Local

结果:

当我打开本地时,它显示错误

“此站点的域存在端口冲突。”

这可能是从 Valet 返回的,它的 DNS 优先级可能高于本地。

场景 #2

仅本地启动

结果:

404 Site Not Found 您请求的站点没有关联 本地路由。如果刷新后继续收到此消息, 尝试重新启动本地站点

看起来 DNS 设置有问题,但我不确定到底是什么。

解决方法

这不是 DNS 问题,正如错误中所说的那样 - 他们都试图使用相同的端口。这是端口冲突,他们很可能都试图使用端口 80。

只需更改其中一个或两个即可使用不同的端口。

,

另一种选择是使用 Local 的 localhost 路由器模式: enter image description here

这将为其他应用程序释放端口 80。

,

我也遇到了同样的问题,我所做的是使用 valet stop 命令停止 Laravel Valet,然后启动 Local。 当 Local 和我在 Local 上的站点启动后,我使用 valet start 命令启动了 valet,现在我可以使用 valet 和 local 访问我的站点。

我的域名后缀是 test 代客泊车和 local 本地。