ThinkPHP6安装需执行composer create-project topthink/think命令,但前提是PHP≥7.2.5(推荐7.4+)、启用pdo/mbstring/openssl/curl/tokenizer扩展,且Composer已正确安装;Web服务器根目录必须指向public子目录,否则因autoload.php路径错误导致Class not found。

ThinkPHP6 安装命令本身不检查 PHP 版本,但 composer create-project topthink/think 执行时会立即失败,如果 PHP < 7.2.5 —— 这是硬性门槛,不是建议值。
PHP 版本必须 ≥ 7.2.5,但实际推荐用 7.4 或 8.0+
官方文档明确要求 PHP >= 7.2.5,低于此版本运行 composer create-project 会报错:Your requirements could not be resolved to an installable set of packages. 或更直接的 PHP version is too low(取决于 Composer 版本)。
但仅满足 7.2.5 不够安全:
- PHP 7.3 已于 2021 年 12 月停止支持,存在未修复漏洞
- TP6 的部分扩展(如
topthink/think-swoole)要求 PHP ≥ 7.4 - 宝塔、phpEnv 等主流环境默认启用的扩展(如
tokenizer)在 7.2 下可能未编译进二进制,需手动开启且不稳定
执行 composer create-project 前必须确认的三件事
命令能敲下去,不代表能成功落地。以下任一缺失都会卡在 autoload 或入口加载阶段:
-
php -v输出版本 ≥ 7.2.5(建议直接php -v看小数点后两位) -
php -m中必须包含:pdo、mbstring、openssl、curl、tokenizer—— 少一个,composer install阶段就可能中断 - Composer 必须已安装且可用:
composer --version有输出,且没报Could not open input file: composer.phar
常见错误:命令成功但项目无法访问
很多人执行完 composer create-project topthink/think tp6 后直接访问域名,结果 404 或 500。这不是 PHP 版本问题,而是部署路径错位:
立即学习“PHP免费学习笔记(深入)”;
- Web 服务器根目录必须指向
tp6/public,不是tp6—— 否则index.php找不到vendor/autoload.php - Nginx/Apache 缺少 PATH_INFO 或伪静态规则,导致路由解析失败(如访问
/index/index报 404) - 项目根目录(含
composer.json)下没运行过composer install—— 解压或 Git clone 得到的代码缺 vendor,autoload.php根本不存在
最易被忽略的一点:TP6 的 public/index.php 里有一行 require __DIR__ . '/../vendor/autoload.php';,这个相对路径依赖的是「项目根目录结构」。一旦 Web 根目录设错,它立刻失效——错误不会提示“找不到 autoload”,而是直接抛出 Fatal error: Uncaught Error: Class 'think\App' not found,让人误以为是 PHP 版本或 Composer 问题。



















