create-project 是唯一能用的命令,因其自动拉取带完整结构的 topthink/think 项目模板,含目录结构、autoload 映射、think 脚本及 public/index.php 入口;require 或 zip 仅得核心库或空 vendor,必报 class 'think\app' not found。

直接用 composer create-project topthink/think tp6 "6.*",别试 composer require 或下载 ZIP —— 后两者根本跑不起来。
为什么 create-project 是唯一能用的命令
TP6 的目录结构、自动加载映射(比如 "app": "app/")、think 可执行脚本、public/index.php 入口,全由官方 skeleton 项目注入。手动 composer init + require topthink/framework 只会拉核心库,没有骨架,运行就报 Class 'think\App' not found;直接解压 GitHub 源码 ZIP,vendor/ 是空的,autoload.php 不含框架路径,一样挂。
-
create-project会自动拉取topthink/think包(不是topthink/framework),它才是带完整结构的“项目模板” - 不加版本约束时,默认装 TP8(PHP ≥ 8.1),在 PHP 7.4 环境下会卡在依赖解析或直接报
ParseError: unexpected token "string" - 想装 TP6,必须显式写版本,如
"6.*"或锁定"6.3.10"(最后稳定版)
php think serve 启动失败的常见原因
报 Permission denied、Command "serve" is not defined 或白屏,基本不是命令写错,而是环境没对齐:
围绕关键发现、作用机制、临床相关性及研究局限性展开讨论。适用于撰写或优化任何生物医学论文的“讨论(Discussion)”部分——包括结果解读、与既往文献关联、阐释意外发现、界定研究局限性,以及撰写结论。当用户输入以下任一指令时也会自动触发该功能: - “write my discussion” - “help me discuss my findings” - “how do I compare to prior studies” - “write the limitations par
- Linux/macOS 下:检查
think文件权限,运行chmod +x think;Windows 下确认php.exe在系统PATH里,且think文件结尾是\n(不是\r\n),否则 shebang 失效 - 没进项目根目录就执行命令:
php think serve必须在tp6/目录下运行,否则加载不到vendor/autoload.php,报Class 'think\Console' not found -
runtime/不可写:Linux/macOS 常见,需chmod -R 755 runtime;Docker 或 WSL 卷挂载时可能需777
.env 配置漏项导致静默失败
新项目生成后默认没有 .env 文件,框架不会报错,只会 fallback 到默认配置 —— 结果就是 APP_DEBUG 关闭、数据库连不上、路由不生效,你还在代码里翻半天。
- 必须手动复制
.env.example为.env,并确保包含以下最小字段(缺一不可):APP_DEBUG = true、APP_ENV = local、DATABASE_HOST、DATABASE_PORT、DATABASE_NAME、DATABASE_USER、DATABASE_PASS(即使为空也要写DATABASE_PASS =) - Windows 记事本保存
.env必须选「UTF-8 无 BOM」,否则php think直接退出不提示 -
.env里不能有中文注释或空行,TP6 的Env解析器遇到就中断,后续变量全失效
最常被忽略的是:Web 服务器 root 必须指向 public/ 目录,不是项目根目录;哪怕 create-project 成功、think serve 能跑,Nginx/Apache 配错也会 500 或 Primary script unknown。










