phpEnv在Windows下推荐使用Nginx模式配置ThinkPHP伪静态,需手动修改vhost配置:用if+rewrite实现路由转发,补全fastcgi_param PATH_INFO和SCRIPT_FILENAME(必须用$realpath_root),站点根目录指向public/,并启用putenv与ini_set函数。

phpEnv 是 Windows 下轻量级 PHP 开发环境,内置 Apache 和 Nginx 两种服务器选项。但需注意:phpEnv 的 Nginx 版本较旧(常为 1.16 或更低),且不支持 try_files 的完整语义,官方推荐并实际稳定可用的伪静态方式只有 if + rewrite,且必须补全关键 fastcgi 参数,否则 ThinkPHP 6/8 启动即报错。
一、确认 phpEnv 使用的是 Nginx 模式
phpEnv 默认可能启用 Apache。请先点击主界面右上角「设置」→「服务器」→ 选择「Nginx」并重启服务。Apache 下配置 `.htaccess` 虽可行,但 phpEnv 对其兼容性差,Nginx 是更可控的选择。
二、手动编辑站点 Nginx 配置文件
phpEnv 的站点配置文件位于:%phpEnv安装目录%\nginx\vhost\你的域名.conf(例如 D:\phpEnv\nginx\vhost\tp6.test.conf)
用记事本打开该文件,在 server { } 块内找到 location / { } 区域(若无则新建),**替换为以下标准写法**:
location / {<br>
if (!-e $request_filename) {<br>
rewrite ^(.*)$ /public/index.php?s=$1 last;<br>
}<br>
}
三、必须同步修改 PHP 处理块
在同一个配置文件中,找到 location ~ \.php$ { } 块(通常在文件靠后位置),确保其中包含以下两行(缺一则 TP6/8 无法启动):
fastcgi_param PATH_INFO $fastcgi_path_info;fastcgi_param SCRIPT_FILENAME $realpath_root$fastcgi_script_name;
⚠️ 若原配置中是 $document_root,务必改为 $realpath_root;否则自动加载失败,提示 Class 'think\App' not found。
四、框架与项目路径对齐
- 确保 ThinkPHP 项目结构为标准 TP6/8 格式:入口文件在 public/index.php
- phpEnv 站点「根目录」必须指向 your-project/public/(不是项目根目录)
- 检查 config/app.php 中三项配置:
'url_route_on' => true-
'url_html_suffix' => ''(空字符串,支持无后缀路由) 'pathinfo_depr' => '/'
五、禁用影响环境变量的 PHP 函数
phpEnv 默认可能勾选了 putenv 和 ini_set 为禁用函数。TP6/8 在 public/index.php 开头需调用它们设置 APP_ENV 等变量。请进入 phpEnv 主界面 → 「PHP 设置」→ 「禁用函数」列表,**取消勾选 putenv 和 ini_set**,然后重启 PHP 服务。
配置完成后,保存所有文件,点击 phpEnv 主界面的「重启 Nginx」和「重启 PHP」按钮。访问 http://your-domain.test/index/index(不带 index.php),能正常显示即表示生效。



















