PHP在Laravel框架怎么获取域名_Laravel取域名快捷用法【方法】-php教程

最稳妥的方式是使用 request()->getHost() 或 url()->to(‘/’) 提取域名;前者获取含端口的原始 Host(如 example.com:8080),后者返回完整 URL(如 https://example.com/)便于解析纯域名,二者均比 $_SERVER[‘HTTP_HOST’] 更安全可靠。

直接用 request()->getHost() 或 url()->to('/') 截取域名最稳妥,别碰 $_SERVER['HTTP_HOST'] —— 它可能被篡改,且在 CLI 或测试环境下根本不可用。

用 request()->getHost() 拿原始 Host(含端口)

这是 Laravel 封装过的安全入口,底层做了请求上下文校验,比裸读 $_SERVER 可靠得多。它返回的是 HTTP 请求头里的 Host 字段值,比如 example.com:8080。

  • 如果只要纯域名(不含端口),得手动处理:parse_url(request()->getHost(), PHP_URL_HOST) ?? request()->getHost()
  • 注意:开发时用 Valet / Sail / Homestead 本地环境,getHost() 返回的是你配的本地域名(如 myapp.test),不是 localhost
  • 生产环境反向代理(Nginx + PHP-FPM)下,确保 Nginx 传了 Host 头:proxy_set_header Host $host;,否则可能拿到 127.0.0.1

用 url()->to('/') 提取完整 URL 再解析

适合需要带协议的完整域名场景(比如生成邮件链接),url()->to('/') 返回类似 https://example.com/ 的字符串,再用 parse_url() 提取即可。

  • parse_url(url()->to('/'), PHP_URL_HOST) → example.com
  • 这个方式自动适配 APP_URL 配置和当前请求协议,比硬编码更健壮
  • 但要注意:如果 APP_URL 配错了(比如写成 http://localhost),所有地方都会错,排查起来比 getHost() 更隐蔽

别用 $_SERVER['HTTP_HOST'] 的三个原因

虽然它看起来最“直接”,但在 Laravel 场景里问题明显:

夏夕资源网专注于CMS网站模板,主流语言整站网站源码下载,网站建设相关教程分享,好用的软件素材整合下载,提供一站式便捷自助服务。
1. 本站所有资源来源于用户上传和网络,如有侵权请邮件联系站长!
2. 分享目的仅供大家学习和交流,您必须在下载后24小时内删除!
3. 不得使用于非法商业用途,不得违反国家法律。否则后果自负!
4. 本站提供的源码、模板、插件等等其他资源,都不包含技术服务请大家谅解!
5. 如有链接无法下载、失效或广告,请联系管理员处理!
6. 本站资源售价只是赞助,收取费用仅维持本站的日常运营所需!
7. 如遇到加密压缩包,默认解压密码为"zy.lucklyus.top",如遇到无法解压的请联系管理员!
夏夕资源网-网站模板_免费源码_资源素材 » PHP在Laravel框架怎么获取域名_Laravel取域名快捷用法【方法】-php教程
在线时间:12:00 - 22:00
关注微信公众号:微信公众号
站长邮箱:[email protected]
  • 运营天数: 1392+
  • 资源总数: 47989+
  • 用户总数: 1+
  • 今日更新: 0+
  • 访问次数: 4009857+
  • 本周更新: 0+
  • 最后更新: 2026-03-16

本站指数

×
  • 运营天数: 1392+
  • 资源总数: 47989+
  • 用户总数: 1+
  • 今日更新: 0+
  • 访问次数: 4009857+
  • 本周更新: 0+
  • 最后更新: 2026-03-16