hosts文件必须以管理员权限修改,路径为c:\windows\system32\drivers\etc\hosts,添加格式为“127.0.0.1 myapp.test”,仅ip与域名两列、空格分隔,改后需ping验证并刷新dns缓存。

hosts文件必须用管理员权限修改,且只写纯域名
不改hosts,浏览器根本不知道myapp.test该去哪找——它不会自动指向127.0.0.1。Windows下路径是C:\Windows\System32\drivers\etc\hosts,必须右键记事本“以管理员身份运行”再打开,否则保存失败。
添加内容时只写两列:IP + 域名,中间用空格分隔,不能有http://、端口、www.前缀(除非你真要配这个子域),也不能混用Tab:
127.0.0.1 myapp.test127.0.0.1 api.myapp.test127.0.0.1 admin.myapp.test
改完后执行ping myapp.test,看到回复来自127.0.0.1且无超时,才算生效。macOS/Linux用户需运行sudo dscacheutil -flushcache或sudo systemd-resolve --flush-caches刷新DNS缓存。
phpEnv的Nginx配置必须匹配hosts里的域名
phpEnv默认把Nginx配置放在D:\phpEnv\nginx\conf\vhost\目录下,每个站点一个.conf文件。关键点在于:server_name值必须和hosts里写的**完全一致**,大小写、点号、顺序都不能错。
例如你hosts写了127.0.0.1 myapp.test,那配置里就得是:
GitHub Hosts 更新工具(仅限中国用户),安全更新系统hosts文件,保留原有非GitHub条目,仅替换GitHub相关地址。支持备份恢复和风险提示。用于解决GitHub访问问题。
server {
listen 80;
server_name myapp.test;
root D:/phpEnv/www/myapp/public;
index index.php;
location / {
try_files $uri $uri/ /index.php?$query_string;
}
location ~ \.php$ {
fastcgi_pass 127.0.0.1:9000;
include fastcgi_params;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
}
}
注意三点:
-
root路径要指向项目public目录(ThinkPHP/Laravel等框架必需),不是整个项目根目录 -
fastcgi_pass端口必须和phpEnv面板里显示的PHP-FPM监听端口一致(默认是9000,但有些版本会用9001) - 如果项目用了URL重写(如隐藏
index.php),try_files行不能少,否则404
重启顺序错了就会502或404
phpEnv界面里有三个服务开关:Nginx、MySQL、PHP-FPM。改完配置后,必须按顺序操作:
- 先点「停止」PHP-FPM,再点「启动」——光重启Nginx没用,PHP-FPM进程没加载新配置
- 再点「重启」Nginx(不是「启动」,因为Nginx可能已在运行)
- 最后在浏览器访问
http://myapp.test,不要加http://以外的协议或端口
如果出现502 Bad Gateway,大概率是fastcgi_pass端口对不上,或者PHP-FPM根本没起来;出现404 Not Found,先检查root路径是否存在、是否拼错、是否漏了/public;如果页面空白但状态码200,看Nginx错误日志D:\phpEnv\nginx\logs\error.log,里面通常会写connect() failed (10061)这类明确提示。
多域名共用同一套代码时,PHP里别硬编码域名
如果你绑了myapp.test和staging.myapp.test,都指向同一个public目录,那PHP代码里就别写死https://myapp.test。要用$_SERVER['HTTP_HOST']动态取,比如生成静态资源URL或跳转地址:
<?php $host = $_SERVER['HTTP_HOST'] ?? 'localhost'; echo "@@##@@"; ?>
否则上线后容易出资源404或HTTPS混合内容警告。另外,框架如ThinkPHP 6的url()函数默认会读HTTP_HOST,但得确认app.url配置没强制写死——这点常被忽略,一上线就全链路错乱。

php免费学习视频:立即使用
踏上前端学习之旅,开启通往精通之路!从前端基础到项目实战,循序渐进,一步一个脚印,迈向巅峰!










