You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Laravel Valet无法找到DNS地址问题求助(已尝试多种方案)

解决Laravel Valet DNS解析失败的问题

咱们从你给出的命令输出来揪问题根源——你严格按步骤操作后仍出错,核心原因其实很明显:

从你的命令输出看关键问题

  1. brew info dnsmasq:显示dnsmasq已经安装到位,但注意它只是装了,没在运行!
  2. ps aux | grep dnsmasq:结果里只有grep自身的进程,说明dnsmasq服务根本没启动!这是最核心的问题——Valet依赖的本地DNS服务没跑起来,系统只能走公共DNS去解析*.test域名,自然返回了错误的第三方IP(198开头的那些)。
  3. dig something.test:SERVER显示是公共DNS209.18.47.62#53,而不是本地的127.0.0.1,进一步坐实了dnsmasq没在工作的结论。

一步步修复问题

1. 强制启动并设置dnsmasq开机自启

先停掉可能残留的无效进程,再重新启动服务:

sudo brew services stop dnsmasq
sudo brew services start dnsmasq

执行完后再用ps aux | grep dnsmasq检查,应该能看到类似这样的进程(除了grep那条):

root      1234  0.0  0.1  123456  7890   ??  Ss    9:00AM   0:00.12 /usr/local/opt/dnsmasq/sbin/dnsmasq --keep-in-foreground -C /usr/local/etc/dnsmasq.conf

2. 验证Valet的DNS规则是否正确

Valet应该自动在/usr/local/etc/dnsmasq.conf里添加了*.test指向本地的规则,你打开这个文件确认下,必须有这一行:

address=/.test/127.0.0.1

如果没有,手动添加后重启dnsmasq:

sudo brew services restart dnsmasq

3. 确保系统优先用本地DNS解析*.test

检查/etc/resolver/test文件是否存在,里面应该只有一行:

nameserver 127.0.0.1

如果文件不存在,手动创建它:

sudo mkdir -p /etc/resolver
sudo echo "nameserver 127.0.0.1" > /etc/resolver/test

4. 重新测试域名解析

现在执行dig something.test,正常情况下应该看到SERVER是127.0.0.1#53,ANSWER区域返回127.0.0.1,类似这样:

; <<>> DiG 9.9.7-P3 <<>> something.test
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 12345
;; flags: qr aa rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 0, ADDITIONAL: 0

;; QUESTION SECTION:
;something.test.			IN	A

;; ANSWER SECTION:
something.test.		0	IN	A	127.0.0.1

;; Query time: 0 msec
;; SERVER: 127.0.0.1#53(127.0.0.1)
;; WHEN: Thu May 24 17:06:34 EDT 2018
;; MSG SIZE  rcvd: 54

5. 最后重启Valet生效

完成以上步骤后,重启Valet让所有配置同步:

valet restart

内容的提问来源于stack exchange,提问作者iicaptain

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.28 04:10:47