composer安装tp6必须显式指定版本如“topthink/think:^6.1”,web根目录须设为public/,.env文件需置于项目根目录并设置app_debug=true,runtime目录需可写。

phpEnv 能直接配好 ThinkPHP6,但关键不是“能不能”,而是“哪几步漏了就会白忙一整晚”。最常卡住的地方就三个:Composer 版本没指定、Web 根目录没对准 public/、.env 文件放错位置或没开调试。
composer create-project 必须带版本约束
直接运行 composer create-project topthink/think tp6 极大概率拉下来的是 TP5 或 TP8(dev-main),因为官方已不维护默认分支。TP6 当前稳定版是 ^6.1,必须显式声明:
composer create-project "topthink/think:^6.1" tp6
Windows 用户注意:^6.1 两侧的双引号不能省,CMD/PowerShell 会把 ^ 当作转义符处理。如果报 “no matching package found”,先执行 composer config -g --unset repos.packagist 清掉国内镜像缓存,再重试。
phpEnv 站点根目录必须指向 public/
TP6 强制入口统一收口到 public/ 目录,这不是可选项。在 phpEnv 中配置站点时:
- “站点根目录” 填的是
D:\phpEnv\www\tp6\public(不是tp6整个文件夹) - Apache/Nginx 都要确保能读取
.htaccess或生效 rewrite 规则;Nginx 下尤其要检查location ~ \.php$块里的fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name—— 写成$root就会 404 - 如果访问域名只显示空白页或 500 错误,第一反应不是代码问题,而是检查浏览器地址栏 URL 是否含
index.php;如果含,说明伪静态没生效,得去 phpEnv 的「URL重写」里选中thinkphp规则并保存
.env 文件位置和 APP_DEBUG 必须手动确认
.env 必须放在项目根目录(即和 think 文件同级),不是 app/、public/ 或 config/ 下。常见错误包括:
- 从
.example.env复制后忘了改名,或者用记事本另存为时加了 BOM 头(推荐用 VS Code 或 Notepad++ 编辑) - Linux/macOS 下权限不对:
ls -l .env看是否 www-data 或 nginx 用户可读;Windows 下一般无此问题,但若用 WSL 子系统部署就得检查 - 最关键的一行:
APP_DEBUG=true必须存在且未被注释,否则任何异常都静默吞掉,只剩空白页 —— 这是新手排查失败率最高的原因 - 改完
.env后,CLI 命令如php think run必须 Ctrl+C 终止再重启,Web 服务也得重启,变量不会热加载
真正容易被忽略的是:TP6 的 runtime/ 目录需要可写,但 phpEnv 默认启动的 Apache/Nginx 进程用户(如 www-data)可能没权限写入 Windows 的 NTFS 权限体系下路径。如果日志报 “failed to open stream: Permission denied”,别急着改代码,先右键 runtime 文件夹 → 属性 → 安全 → 编辑 → 添加 IIS_IUSRS(IIS)或 Users(Apache/Nginx 服务账户)并勾选“写入”。
php免费学习视频:立即使用
踏上前端学习之旅,开启通往精通之路!从前端基础到项目实战,循序渐进,一步一个脚印,迈向巅峰!











