phpEnv 的 www 目录非硬编码,由 Apache 或 Nginx 的虚拟主机配置决定;需同步修改 DocumentRoot 与 Directory 路径(Apache)或 root 指令(Nginx),并重启服务、清缓存、避免中文/大小写问题。

phpEnv 的 www 目录不是硬编码,而是由配置文件驱动
phpEnv 默认把 www 目录作为网站根路径,但这个行为完全取决于 Apache 或 Nginx 的虚拟主机配置文件,不是 phpEnv 自身逻辑写死的。你改的不是 phpEnv 主程序,而是它托管的 Web 服务器配置。
修改 Apache 的 DocumentRoot 和 <directory></directory> 路径
如果你用的是 phpEnv 内置的 Apache(常见于 Windows 版),关键配置在:phpEnv\Apache\conf\extra\httpd-vhosts.conf。
找到类似这样的虚拟主机块:
<VirtualHost *:80>
DocumentRoot "D:/phpEnv/www"
ServerName localhost
<Directory "D:/phpEnv/www">
Require all granted
</Directory>
</VirtualHost>
需要同步改两处:
立即学习“PHP免费学习笔记(深入)”;
-
DocumentRoot值(比如改成"D:/myweb") -
<Directory>标签内的路径(必须一致,否则会报Forbidden You don't have permission to access this resource) - 确保目标目录存在且有读取权限(Windows 下尤其注意继承权限)
修改 Nginx 的 root 指令(如果启用了 Nginx)
对应配置文件通常是:phpEnv\Nginx\conf\vhost\localhost.conf。
找包含 location / { 的区块,修改里面的 root 行:
location / {
root "D:/phpEnv/www"; ← 改这里
index index.php index.html;
}
注意点:
-
root路径末尾不加斜杠("D:/myweb"✅,"D:/myweb/"❌) - 如果用了
alias,语义完全不同,别误替换成alias - 改完必须重启 Nginx 服务,仅重载配置(
nginx -s reload)有时不生效
改完不生效?重点检查这三件事
常见“改了没用”基本都卡在这几个环节:
- 没重启对应 Web 服务(Apache/Nginx)—— phpEnv 界面里点“重启”或任务栏右键菜单选“Restart Apache”
- 浏览器缓存了 301 重定向(尤其之前设过域名绑定),换隐身窗口或清 DNS 缓存(
ipconfig /flushdns) - phpEnv 启动时自动恢复了默认配置:检查是否勾选了“启动时还原默认配置”这类选项(部分旧版界面有)
路径里的中文、空格、盘符大小写(如 D: vs d:)在 Windows 下也可能导致静默失败,建议全用英文路径和小写盘符。



















