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

Laravel Valet项目无法运行,valet share报错:127.0.0.1端口4040连接被拒绝

解决Windows下Laravel Valet无法启动及Valet Share端口4040拒绝连接的问题

Hey there, let’s work through this Valet issue step by step—this kind of sudden failure is usually fixable with a few targeted checks and resets.

1. 彻底重启Valet核心服务

Windows下Valet依赖的后台服务偶尔会意外挂掉,先做一次完整的重置:

  • 打开管理员权限的CMD或PowerShell
  • 依次执行以下命令:
    valet stop
    valet uninstall
    valet install
    valet start
    
    这组操作会彻底停止现有服务、清理旧配置、重新安装Valet依赖组件并启动,能解决绝大多数服务异常问题。

2. 排查4040端口占用问题

valet share默认依赖ngrok监听4040端口,如果这个端口被其他程序占用,就会触发连接拒绝的报错:

  • 在PowerShell中运行:
    netstat -ano | findstr :4040
    
  • 如果输出有进程ID(PID),打开任务管理器,找到对应PID的进程并结束它,再重试valet share。

3. 验证Valet的DNS解析配置

Windows下Valet靠DNS映射把.test域名(默认)指向本地,可能DNS配置失效了:

  • 打开本地hosts文件(路径:C:\Windows\System32\drivers\etc\hosts),检查是否有Valet自动添加的项目域名记录;如果没有,进入项目根目录执行valet park重新注册整个目录,或者用valet link [项目名]单独关联项目。
  • 同时刷新DNS缓存:
    ipconfig /flushdns
    

4. 检查Ngrok的状态(针对Valet Share)

Valet Share完全依赖Ngrok工具,可能Ngrok安装或配置出了问题:

  • 执行valet fetch-share重新获取并安装最新版Ngrok,这个命令会自动处理配置细节。
  • 可以手动测试Ngrok:直接运行ngrok http 80,如果它能正常启动并生成临时域名,说明Ngrok本身没问题;如果报错,要检查网络代理或防火墙是否拦截了Ngrok的外部连接。

5. 排查防火墙/杀毒软件拦截

Windows Defender或第三方杀毒软件可能突然拦截Valet的服务端口(80、443等)或Ngrok的连接:

  • 临时关闭防火墙和杀毒软件,测试项目能否访问、valet share是否正常。如果恢复,记得把Valet相关程序(nginx、php-cgi、ngrok)添加到防火墙的允许列表。

6. 确认PHP-FPM和Nginx服务状态

Valet依赖这两个核心服务,手动检查它们的运行情况:

  • 按下Win+R输入services.msc打开服务管理器,找到php[你的版本]-fpm和nginx服务,确保状态是「正在运行」;如果没运行,右键启动并设置为自动启动。

如果以上步骤都试过还是不行,可以尝试彻底重装Valet:先备份~/.config/valet目录的配置文件,然后执行composer global remove laravel/valet,再重新安装composer global require laravel/valet,最后运行valet install完成配置。


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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.19 03:27:37