推荐用 composer create-project "topthink/think:^6.1" tp6 安装ThinkPHP 6,因不加版本号易拉取TP5或TP8预览版致兼容问题,Windows下须英文引号包裹,且需确保Web服务器根目录指向public、.env为UTF-8无BOM并重启服务。

直接用 composer create-project "topthink/think:^6.1" 安装,其他方式基本都会报错——不是缺 vendor 就是类加载失败,Class 'think\App' not found 是最常见结果。
为什么 composer create-project 不加版本号就失败
不加 ^6.1 时,Composer 可能拉取 dev-main(TP8 预览版)或旧分支(如 TP5),导致 PHP 版本不兼容、命令不可用、路由异常。Windows 下尤其明显,CMD 会错误解析 ^ 符号,所以必须用英文引号包裹整个包名和版本字符串。
-
composer create-project "topthink/think:^6.1" tp6✅ 推荐,装 6.1+ 最新稳定版 -
composer create-project "topthink/think:6.1.5" tp6✅ 生产环境锁定小版本 -
composer create-project topthink/think tp6❌ 没引号、没版本,大概率失败 -
composer require topthink/think❌ 只装进vendor/,不生成app/config/public/等骨架,必然报错
Class 'think\App' not found 的真实原因和验证方法
这不是代码写错了,而是自动加载根本没启动。框架连入口都没进,后续一切调试都无效。
- 先确认是否在项目根目录执行命令:当前路径下必须有
think文件和vendor/目录 - 运行
php -r "require 'vendor/autoload.php'; var_dump(class_exists('think\App'));",输出bool(true)才算正常 - 手动解压 ZIP 包或
git clone官方仓库后跑composer install—— 这两种方式都不行,因为缺少post-create-project-cmd脚本,不会生成.env、不会设权限、不会注册 autoload - Linux/macOS 下检查
think文件权限:ls -l think,若无x,需chmod +x think
Apache/Nginx 配错根目录导致的“静默失败”
哪怕 composer 装对了、autoload 也生效,Web 服务器没指向 public/,你看到的永远是空白页或 404,且没有任何错误提示。
- Apache:
DocumentRoot必须设为D:/www/tp6/public(Windows)或/var/www/tp6/public(Linux),不能是项目根目录 -
块里必须含AllowOverride All,否则.htaccess不生效,路由和静态资源全挂 - Nginx:
root指向.../public,且fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name—— 写成$root或漏掉$document_root会导致$_SERVER['PATH_INFO']为空,路由匹配失败 - 本地快速验证:运行
php -S localhost:8000 -t public/,不配任何服务器也能跑起来
.env 不生效、调试开关打不开的隐蔽问题
APP_DEBUG=true 没起作用,你就只能靠猜——而 ThinkPHP 6 默认关闭所有错误显示,空白页背后可能是致命错误,但你完全看不到。
-
.env必须放在项目根目录(和think文件同级),不是public/或app/下 - 文件保存格式必须是 UTF-8 无 BOM,Windows 记事本默认带 BOM,会导致
$_ENV读取失败;用 VS Code 或 Sublime 保存时选 “UTF-8 without BOM” - 改完
.env后必须重启服务:CLI 下用php think run的要Ctrl+C再重跑;Apache/Nginx 要 reload - 验证是否加载成功:在
app/common.php里加var_dump($_ENV['APP_DEBUG'] ?? 'not loaded');,输出string(4) "true"才算到位
真正卡住人的从来不是某个报错信息,而是多个环节同时出问题:Composer 拉错版本、Web 服务器根目录配错、.env 编码不对、runtime/ 目录不可写——它们叠加在一起,让错误表现得毫无规律。动手前先盯住这四点,比事后逐条排查快得多。
php免费学习视频:立即使用
踏上前端学习之旅,开启通往精通之路!从前端基础到项目实战,循序渐进,一步一个脚印,迈向巅峰!











