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

将Laravel应用从Homestead迁移至Valet后路由异常求助

排查Valet路由失败的几个关键步骤

我之前从Homestead迁到Valet时也踩过类似的坑,给你几个实际有效的排查方向:

  • 确认Valet站点配置正确
    别漏了最基础的一步:要么在项目根目录执行valet link给站点绑定专属域名,要么把项目目录放到Valet的默认park目录(一般是~/Sites)并执行valet park。可以用valet links查看已绑定的站点,valet parked查看已加入的park目录,确保你的项目在列表里。

  • 检查Valet服务状态
    执行valet status看看nginx、php-fpm、dnsmasq这几个核心服务是不是都处于running状态。如果有服务未启动,先执行valet restart重启所有服务,要是某个服务还是起不来,比如nginx,可能是端口被占用(比如Homestead没彻底关掉),可以手动杀掉占用80端口的进程:sudo lsof -ti:80 | xargs kill -9,再重启nginx。

  • 清理DNS缓存与验证解析
    有时候旧的DNS缓存会干扰Valet的域名解析,Mac上执行sudo dscacheutil -flushcache; sudo killall -HUP mDNSResponder清除缓存,然后用ping your-project.test(替换成你的站点域名)测试,正常应该解析到127.0.0.1。如果解析不对,试试重新安装dnsmasq:valet uninstall && valet install。

  • 彻底关停Homestead避免冲突
    哪怕你执行了vagrant reload --provision,Homestead虚拟机可能还在后台占用80/443端口,直接执行vagrant halt彻底关掉虚拟机,再重启Valet,避免端口冲突导致nginx无法正常监听请求。

  • 检查项目配置与权限

    1. 打开项目的.env文件,确保APP_URL设置为Valet的域名(比如http://your-project.test),然后执行php artisan config:clear && php artisan cache:clear清除Laravel缓存;
    2. 确认项目的public目录权限正常,Mac上可以执行chmod -R 755 public,保证nginx能读取该目录下的文件。
  • 重置Valet兜底方案
    如果以上步骤都没解决问题,试试重置Valet的全部配置:valet reset,之后重新执行valet install,再重新绑定或park你的项目,大部分残留配置问题都能通过这步解决。

内容的提问来源于stack exchange,提问作者Edvard Åkerberg

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.26 10:36:38