要实现 http://myapp.test 访问,必须手动配置 Apache 虚拟主机并修改 hosts 文件:取消 httpd.conf 中 Include 行注释,编辑 httpd-vhosts.conf 添加 VirtualHost 块,重启 Apache,再在 hosts 中添加 127.0.0.1 myapp.test;phpEnv 的“启用虚拟主机”等选项无实际作用,端口冲突或配置错误会导致失败。

phpEnv 本身不提供域名解析或虚拟主机配置能力,它只是 Windows 下的集成环境(含 Apache/MySQL/PHP),要实现 http://myapp.test 这类域名访问,必须手动配 Apache + 修改系统 hosts 文件 —— 没有自动绑定,也没有图形界面开关。
Apache 虚拟主机配置必须手写 vhost
phpEnv 控制面板里点“配置 → Apache 配置”打开的是 httpd.conf,但默认不启用 vhost。你要做三件事:
- 确认
httpd.conf中这行已取消注释:Include conf/extra/httpd-vhosts.conf - 编辑
conf/extra/httpd-vhosts.conf,添加类似以下块(路径、端口、域名按需改):<VirtualHost *:80> ServerName myapp.test DocumentRoot "D:/www/myapp" <Directory "D:/www/myapp"> Require all granted </Directory> </VirtualHost> - 重启 Apache(在 phpEnv 面板点“重启”或命令行执行
httpd -k restart)
hosts 文件必须加映射,否则域名根本解析不到本地
Windows 的 C:\Windows\System32\drivers\etc\hosts 是唯一能让 myapp.test 指向 127.0.0.1 的地方。用管理员权限打开记事本,追加一行:
127.0.0.1 myapp.test
注意:hosts 文件无扩展名,保存时选“所有文件”,编码选 ANSI 或 UTF-8 无 BOM;改完不用重启,但浏览器要清 DNS 缓存(ipconfig /flushdns 或重启浏览器)。
立即学习“PHP免费学习笔记(深入)”;
phpEnv 的“高级设置”里两个勾 ≠ 域名支持
控制面板中“高级设置”里的“启用虚拟主机”和“启用域名绑定”是误导性 UI —— 它们只影响 phpEnv 内部站点列表的显示逻辑,并不会自动生成 vhost 配置或修改 hosts。实测勾选后不配上面两步,域名依然 404 或连接被拒绝。
端口冲突会直接让域名失效
如果 Apache 启动失败(面板显示红色),myapp.test 必然打不开。常见原因:
- 80 端口被 Skype、IIS、其他 Web 服务占用 → 在 phpEnv “配置 → 端口检测”里换用
8080,然后访问http://myapp.test:8080 - Apache 配置语法错误(比如
vhost少了</Directory>)→ 查logs/error.log,关键词是Syntax error或Invalid command - DocumentRoot 路径含中文或空格且没加引号 → 必须用双引号包裹完整路径
域名能访问的前提永远是 Apache 成功监听并响应请求,其余都是锦上添花。别跳过日志排查这一步。



















