用composer create-project topthink/think创建tp6项目最稳妥,因它生成完整项目骨架(含app/、public/index.php、think命令脚本等),避免手动require导致autoload缺失、目录不全及class not found错误。

直接用 composer create-project topthink/think 创建项目,别用 composer require topthink/think —— 后者只装核心包,不生成 app/、public/index.php、think 命令脚本等必要文件,必然报 Class 'think\App' not found 或 Failed opening required 'base.php'。
为什么 composer require topthink/think 一定失败
TP6 是「框架即项目」结构,topthink/think 是一个完整项目模板(含 public/ 入口、app/ 目录、命令行脚本等),不是普通 Composer 库。用 require 只会把它丢进 vendor/,导致:
-
public/index.php缺失 → Web 服务器找不到入口,Nginx/Apache 报Primary script unknown或白屏 -
think命令不可用 →php think version提示Command "version" is not defined - 自动加载规则未注册 →
Container、App等类根本不会被识别
composer create-project 的正确写法和版本控制
命令必须带项目目录名,且推荐显式指定稳定版本号,避免拉到 dev-main 或 RC 版本引发兼容问题:
- 基础命令:
composer create-project topthink/think tp6-demo - 指定稳定版(推荐):
composer create-project "topthink/think:^6.1" myapp(双引号防 shell 解析^) - 装旧版(如 v6.0.13):
composer create-project topthink/think@v6.0.13 oldapp - 国内网络卡顿加
--prefer-dist强制用压缩包:composer create-project topthink/think tp6 --prefer-dist
执行后会自动创建目录、初始化 Git(如有)、解压全部骨架文件 —— 这才是 TP6 能跑起来的前提。
安装完立刻验证的三个硬性条件
生成目录 ≠ 能访问。进项目根目录后必须确认以下三点,缺一不可:
-
public/index.php和vendor/autoload.php必须存在 —— 缺任一说明镜像损坏或安装中断(可先composer clear-cache再重试) -
runtime/目录必须可写:chmod -R 755 runtime/(Linux/macOS);Windows 下需确保 IIS 或 PHP-CGI 进程用户有写权限 - 运行
php think version输出应为v6.x.x—— 若报错,基本可断定没走create-project流程,而是误用了require
.env 文件不配,TP6 就是“静默哑火”
TP6 默认不生成 .env,也不会报错,而是 fallback 到内置默认值:数据库为空、APP_DEBUG=false、路由关闭。你改了代码却看不到效果,容易误判为代码问题。
- 手动复制:
cp .env.example .env - 最小可用配置(UTF-8 无 BOM):
APP_DEBUG = true APP_ENV = local
- 严禁在
.env里写中文注释或空行 —— TP6 的Env类解析器会中断加载,后续所有变量失效
真正麻烦的从来不是命令敲错,而是 runtime/ 权限不对、.env 没生效、Web 根目录没指向 public/ —— 这三处出问题,页面空白但毫无提示,排查成本远高于重装一次。
php免费学习视频:立即使用
踏上前端学习之旅,开启通往精通之路!从前端基础到项目实战,循序渐进,一步一个脚印,迈向巅峰!











