必须显式指定^6.1版本号,否则默认拉取TP7预发布版或TP5旧分支导致无法运行;需清缓存、切阿里云镜像、确认PHP扩展,并用composer create-project "topthink/think:^6.1" tp6安装,且安装后须确保public/index.php存在、vendor/autoload.php可读、runtime/可写。

必须显式指定 ^6.1 版本号,否则大概率装到 TP7 预发布版或 TP5 旧分支,直接无法运行。
为什么 composer create-project topthink/think 会失败
TP6 已进入维护期,Composer 默认不再拉取 6.x 分支;不加版本约束时,可能命中 dev-main(TP7)、5.1.x 或缓存中的废弃标签。报错现象包括:
-
Class 'think\App' not found—— 自动加载失败,实际装的是非 TP6 结构 -
Could not find package topthink/think—— 镜像源失效或本地缓存污染 - 执行
php think run提示命令不存在 ——vendor/autoload.php没生成完整
解决方法:
- 先清缓存:
composer clear-cache - 切阿里云镜像(已替代停用的 phpcomposer):
composer config -g repo.packagist composer https://mirrors.aliyun.com/composer/ - 确认 PHP ≥ 7.2.5 且启用
mbstring、openssl、pdo、json扩展
composer create-project 的正确写法和参数差异
命令必须带引号包裹包名+版本,避免 Windows CMD 解析 ^ 或空格出错。稳定版唯一可靠写法是:
立即学习“PHP免费学习笔记(深入)”;
composer create-project "topthink/think:^6.1" tp6
关键点:
-
^6.1是当前 TP6 最新稳定范围(截至 2026 年 5 月),6.0.*在 Composer 2.5+ 中已被弃用 - 目录名
tp6可任意改,但不能与现有同名文件夹冲突 - 不要用
composer require topthink/think—— TP6 不支持手动引入,必须用create-project初始化骨架
安装后必须检查的三件事
成功执行命令不等于项目能跑起来,以下三项缺一不可:
-
public/index.php必须存在 —— 这是唯一 Web 入口,缺失说明下载中断 -
vendor/autoload.php必须可读 —— 若报failed to open stream,进目录手动跑一次composer install -
runtime/目录需写权限:Linux/macOS 下执行chmod -R 755 runtime(不是 777,避免安全风险)
Web 服务器根目录必须指向 public/,而非项目根目录;否则会暴露 .env 和敏感配置。
php think run 启动失败的常见原因
这个命令依赖完整 autoload 和正确的当前工作目录:
- 必须在项目根目录(含
think文件的那层)执行,不能在public/或app/下运行 - 确保
.env存在且APP_DEBUG=true,否则错误被静默吞掉 - 如果提示
command not found,检查PATH是否包含 Composer bin 目录,或直接用php think run(不用全局注册)
真正容易被忽略的是:TP6 的 think 命令行入口依赖 vendor/autoload.php 加载框架类,而这个文件只有 create-project 能完整生成 —— 手动 composer init + require 永远走不通。



















