默认 composer create-project topthink/think 安装的是 tp8 而非 tp6,需显式指定版本如 6.1.0 或 6.0.9;否则因目录结构、配置格式、路由写法差异导致 php think 报错“class 'think\app' not found”,常见于 autoload.php 缺失、think 文件无执行权限或环境不兼容;扩展包如 think-queue 必须使用 ^3.0 版本并与 tp6 严格对齐。

composer create-project 装出来的不是 TP6?
默认 composer create-project topthink/think 拉的是最新稳定版,但 TP6 已停止维护,当前最新版是 TP8(2024 年发布)。如果明确要 TP6,必须指定版本号,否则会装错或报错。
- 装 TP6.1.x(最后一个正式版):
composer create-project topthink/think=6.1.0 - 装 TP6.0.x(兼容 PHP 7.2+):
composer create-project topthink/think=6.0.9 - 不写版本号 → 默认拉
dev-main或 TP8,App目录结构、config/app.php格式、路由写法全都不一样
安装后 php think 报错“Class 'think\App' not found”
这是 TP6 的自动加载没生效,常见于 Windows + WSL 混用、权限问题或 Composer 安装中断。TP6 依赖 vendor/autoload.php 和 think 命令行脚本,缺一不可。
- 先确认
vendor/autoload.php存在且可读;不存在就重跑composer install - 检查
think文件是否是可执行脚本(Linux/macOS):ls -l think,若显示为普通文本需加执行权限:chmod +x think - Windows 用户若用 Git Bash 运行失败,改用 PowerShell 或 CMD,避免 shebang 解析异常
- 别手动删
vendor/composer/autoload_classmap.php—— TP6 的类映射靠它启动
为什么 composer require topthink/think-queue 装不上?
TP6 的扩展包大多要求与框架主版本严格对齐,think-queue 的 3.x 版本只适配 TP6,但 Composer 默认可能尝试装 4.x(适配 TP8),导致冲突。
- 显式指定兼容版本:
composer require topthink/think-queue:^3.0 - 装之前先看包的
composer.json:打开https://packagist.org/packages/topthink/think-queue,点开 v3.0.11 的 “Requires”,确认它依赖"topthink/framework": "^6.0.0" - 如果已装错,先
composer remove topthink/think-queue再重装,避免composer.lock锁住错误版本 - TP6 不支持 Laravel 风格的
php artisan queue:work,只能用php think queue:listen
php think 就可能直接哑火。











