phpenv 本身不处理域名解析,虚拟域名生效需手动修改 hosts 文件,且站点管理中填写的域名必须与 hosts 中完全一致(含大小写、www.前缀等);hosts 修改后需以管理员权限保存、重启浏览器并确认 apache 正常运行。

phpEnv 本身不直接处理域名解析,所有虚拟域名生效的前提是:你手动改了 hosts 文件,并且 phpEnv 的“站点管理”里填的域名必须和 hosts 里写的完全一致(包括大小写、有无 www. 前缀)。
phpEnv 站点管理里填的域名怎么对应到 hosts
phpEnv 的“站点管理”界面中,“网站域名”字段填什么,你就得在 hosts 文件里加对应的一行。它不会自动帮你写,也不会校验格式是否合法。
-
网站域名填test.local→hosts必须有127.0.0.1 test.local -
网站域名填www.myapp.test→hosts必须有127.0.0.1 www.myapp.test,不能只写myapp.test - 如果填了
https://api.dev这种带协议的,hosts会失效——hosts只管域名,不管协议或端口
hosts 文件修改后浏览器打不开?先查这三处
90% 的“绑定了没反应”不是 hosts 没写对,而是中间环节断了。
- 没用管理员权限保存
hosts:Windows 下右键编辑器必须选“以管理员身份运行”,否则保存失败但不报错 - 浏览器缓存没清:改完
hosts后,Chrome / Edge 必须彻底关闭再重开(不是刷新或新建标签页),Firefox 需要访问about:networking#dns点“Clear DNS Cache” - phpEnv 的 Apache 没真正监听 80 端口:点 phpEnv 主界面右下角“服务管理”,确认
Apache是绿色运行状态;如果显示黄色或红色,点它重启,别只点“启动”——有些版本启动失败不提示
phpEnv 自动创建的站点目录结构要注意什么
当你在 phpEnv 站点管理里新增一个域名,它默认会在 www/ 目录下建同名文件夹(如 www/test.local),但 PHP 框架(ThinkPHP、Laravel、DolphinPHP)通常要求入口文件在 public/ 子目录下。
- 如果你把整个 ThinkPHP 项目直接丢进
www/test.local,而没把public/设为 Web 根目录,就会 403 或白屏 - 正确做法:在站点管理中,“网站目录”不要选
www/test.local,而要选www/test.local/public(前提是你的项目确实有这个子目录) - phpEnv 不会自动识别框架结构,
DocumentRoot完全由你手动指定,“网站目录”填错,.htaccess和路由就全失效
最容易被忽略的是:phpEnv 的“网站目录”路径必须是绝对路径,且结尾不能带斜杠;一旦多输一个 /,比如 E:\phpenv\www\test.local\,Apache 就可能拒绝加载该目录,但错误日志里只报 Directory not found,不告诉你多了一个反斜杠。
php免费学习视频:立即使用
踏上前端学习之旅,开启通往精通之路!从前端基础到项目实战,循序渐进,一步一个脚印,迈向巅峰!











