Composer安装ThinkPHP 6的正确命令是composer create-project "topthink/think:^6.1" tp6;报“Class 'think\App' not found”因自动加载失败,需确保用create-project创建、在根目录执行且vendor正常;TP6.1+要求PHP≥7.2.5及mbstring、curl、openssl、json、pdo扩展。

Composer 安装 ThinkPHP 6 的正确命令是什么
直接运行 composer create-project topthink/think 会默认安装最新稳定版,但 TP6 的正式版包名是 topthink/think,且需指定版本约束才能确保装到 6.x 分支。不加约束可能装到 TP7 预发布版(如已存在 alpha/beta 标签),或因本地 Composer 配置缓存导致装错。
推荐做法是显式声明版本:
-
composer create-project "topthink/think:^6.1" tp6—— 安装 6.1+ 最新兼容版(推荐) -
composer create-project "topthink/think:6.1.5" tp6—— 安装指定小版本(适合生产环境锁定) - 避免用
dev-master或6.x-dev,这些不是稳定发布分支,CI/CD 中易出问题
安装后为什么 php think 报错“Class 'think\App' not found”
这是自动加载失败的典型表现,常见于以下几种情况:
- 项目目录未通过
composer create-project创建,而是手动git clone或复制源码 —— 缺少vendor/autoload.php和正确的 PSR-4 映射 - 执行
php think时不在项目根目录(即含think可执行文件和vendor/的目录),导致自动加载路径错误 - 运行了
composer install但没删掉vendor/下残留的旧包,或composer.lock与当前composer.json不匹配
验证方式:在项目根目录运行 php -r "require 'vendor/autoload.php'; var_dump(class_exists('think\App'));",返回 bool(true) 才算加载正常。
立即学习“PHP免费学习笔记(深入)”;
TP6 要求 PHP 版本和扩展有哪些硬性限制
TP6.1+ 强制要求 PHP >= 7.2.5,且必须启用以下扩展:
-
mbstring(非可选,路由解析、字符串处理强依赖) -
curl(think\facade\Http和远程请求组件必需) -
openssl(JWT、HTTPS 请求、加密组件基础) -
json和pdo(框架底层序列化与数据库驱动前提)
注意:fileinfo 在上传、MIME 类型检测中被调用,未启用会导致 UploadedFile::getMimeTyp() 返回空;intl 虽非强制,但日期格式化(think\helper\Str::date())和多语言部分功能会降级。
如何快速验证 TP6 环境是否可用
别急着写路由或连数据库,先用最轻量的方式确认核心机制跑通:
- 进入项目根目录,运行
php think version—— 应输出类似v6.1.5 - 运行
php think run启动内置服务器(默认127.0.0.1:8000),访问页面看到 ThinkPHP 默认欢迎页即表示 HTTP 生命周期正常 - 检查
runtime/目录是否自动生成且可写(尤其 Windows 下常因权限或杀毒软件拦截导致日志/缓存写入失败)
如果 php think run 启动失败但无报错,大概率是 server.php 被修改或 public/index.php 中入口定义异常 —— 此时不要改框架文件,优先比对官方 release 包中的原始入口文件。











