
PHP 内置 Web 服务器支持通过 php -S 启动轻量开发服务,但直接使用 .dev 等受控顶级域会导致 HTTPS 重定向或连接失败;解决方案是改用 IANA 官方保留的本地测试域名(如 .test),并确保 hosts 配置与服务器绑定地址匹配。
php 内置 web 服务器支持通过 `php -s` 启动轻量开发服务,但直接使用 `.dev` 等受控顶级域会导致 https 重定向或连接失败;解决方案是改用 iana 官方保留的本地测试域名(如 `.test`),并确保 hosts 配置与服务器绑定地址匹配。
PHP 自带的内置 Web 服务器(Built-in Web Server)是快速启动本地开发环境的利器,尤其适合学习、原型验证和小型项目调试。它无需 Apache 或 Nginx 即可运行 PHP 脚本,命令简洁:php -S
? 根本原因:.dev 是受强制 HTTPS 保护的正式 gTLD
自 2019 年起,Google(作为 .dev 的注册管理机构)强制所有 .dev 域名必须通过 HTTPS 访问,且浏览器(Chrome、Edge、Firefox 等)会自动将 HTTP 请求升级为 HTTPS。而 PHP 内置服务器原生不支持 HTTPS——它仅提供纯 HTTP 服务。因此,当你在浏览器中输入 http://astrononeko.dev:8000 时,浏览器实际发起的是 https://astrononeko.dev:8000 请求,PHP 服务器无法处理 TLS 握手,直接返回 Unsupported SSL request 错误日志,并关闭连接。
✅ 正确做法:改用 IANA 官方保留的本地开发专用 TLD —— .test、.localhost、.example 或 .invalid。这些域名被明确设计为永不解析到真实互联网地址,且不启用任何强制安全策略,完全适配本地开发场景。
✅ 正确配置步骤(Windows + PHP 8.x)
1. 修改 C:\Windows\System32\drivers\etc\hosts
127.0.0.1 astrononeko.test 127.0.0.1 www.astrononeko.test ::1 astrononeko.test ::1 www.astrononeko.test
⚠️ 注意:
- 不要使用 .dev、.app、.page 等已注册 gTLD;
- 保存前需以管理员权限运行记事本(否则可能因权限不足导致写入失败);
- 执行 ipconfig /flushdns 刷新 DNS 缓存(你已正确执行)。
2. 启动 PHP 内置服务器(关键:绑定 0.0.0.0 或 127.0.0.1,而非域名)
# ✅ 推荐:监听所有 IPv4 接口(含 hosts 映射的域名) php -S 0.0.0.0:8000 # ✅ 或仅限本地回环(同样支持域名访问) php -S 127.0.0.1:8000 # ❌ 错误:不要写成 php -S astrononeko.test:8000 # PHP 内置服务器不解析域名作为监听地址,该写法会尝试连接远程主机,失败且无意义
3. 访问方式(浏览器中输入)
http://astrononeko.test:8000/ http://www.astrononeko.test:8000/ http://localhost:8000/ # 仍可用,兼容性保障
? 补充技巧:路由文件支持(可选)
若需支持 URL 重写(如 Laravel 风格的 /user/1),可创建 router.php:
<?php // router.php
if (preg_match('/\.(?:png|jpg|jpeg|gif|css|js|ico|svg|woff2)$/', $_SERVER["REQUEST_URI"])) {
return false; // 静态资源直接返回
}
// 否则交由 index.php 处理
include __DIR__ . '/index.php';启动命令变为:
php -S 0.0.0.0:8000 router.php
? 注意事项总结
- ✅ 域名选择:严格使用 .test(推荐)、.localhost 或 .invalid,避免 .dev/.app/.site 等商用 TLD;
- ✅ 监听地址:始终用 0.0.0.0 或 127.0.0.1,勿用域名作为 -S 参数;
- ✅ 协议明确:浏览器地址栏务必输入 http://(非 https://),PHP 内置服务器不支持 SSL;
- ✅ 防火墙检查:Windows Defender 防火墙可能拦截非 localhost 的入站连接,如遇无响应,临时禁用防火墙测试;
- ✅ PHP 版本兼容性:PHP 5.4+ 均支持内置服务器,当前主流版本(如 PHP 8.4.23、8.5.8)已全面优化稳定性与路由能力。
通过以上配置,你即可在浏览器中无缝使用语义化本地域名进行开发,既提升协作体验,又规避了强制 HTTPS 带来的兼容性陷阱。记住:.test 不仅是一个后缀,更是现代 Web 开发中「约定优于配置」的最佳实践之一。
php免费学习视频:立即使用
踏上前端学习之旅,开启通往精通之路!从前端基础到项目实战,循序渐进,一步一个脚印,迈向巅峰!











