必须用composer create-project topthink/think tp6-demo安装ThinkPHP6,不可用require;需确保PHP≥7.2.5且启用mbstring、openssl、pdo、json、curl扩展,Composer可用并配置国内镜像源,安装后验证autoload.php存在、runtime可写、php think version可执行,并将Web根目录指向public/。

ThinkPHP6 本身不安装 Composer,而是必须用 Composer 安装 ThinkPHP6 —— 你得先配好 Composer 环境,再用它拉起 TP6 项目。
Composer 和 PHP 版本、扩展缺一不可
TP6.1+ 强制要求 PHP ≥ 7.2.5,且以下扩展必须启用(哪怕不用数据库或 HTTPS):mbstring、openssl、pdo、json、curl。少一个,composer create-project 就会中断并报 Your requirements could not be resolved。
常见踩坑点:
- Windows 用户用 XAMPP/MAMP,CLI 模式下跑
php -m显示没开openssl,其实是 CLI 用的php.ini和浏览器访问的不是同一个,得单独改 CLI 对应的配置文件 - Linux/macOS 执行
php -m | grep -E "mbstring|openssl|pdo"返回为空,说明扩展根本没加载,不是“已安装但未启用” -
fileinfo虽非强制,但上传功能(如UploadedFile::getMimeType())会失效;intl缺失则日期格式化、多语言部分降级
Composer 必须能正常调用且走国内镜像
执行 composer --version 能输出版本号(如 2.5.8),才算 Composer 就绪。否则常见问题:
立即学习“PHP免费学习笔记(深入)”;
- Windows 提示
'composer' 不是内部或外部命令→ 检查系统 PATH 是否包含%USERPROFILE%\AppData\Roaming\Composer\vendor\bin - macOS/Linux 报
command not found: composer→ 运行export PATH="$HOME/.composer/vendor/bin:$PATH"临时修复,或写入 shell 配置文件 - 安装过程卡在
Installing topthink/think (v6.3.0)不动 → 镜像源失效,立刻切阿里云:composer config -g repo.packagist composer https://mirrors.aliyun.com/composer/
别用 composer require topthink/think 往空目录硬塞
这条命令只会把核心包丢进 vendor/,不会生成 app/、public/index.php、think 命令脚本等骨架文件。结果必然是:
- 运行
php think run报Command "run" is not defined - 访问
public/index.php报Fatal error: Class 'think\App' not found - 手动补目录?大概率漏掉 autoload 映射或入口引导逻辑
正确姿势只有一条:composer create-project "topthink/think:^6.1" tp6-demo。加版本约束可避免误装 TP7 的预发布版。
安装完立刻验证三件事
很多人以为命令跑完就结束了,其实最关键的检查在后面:
- 进入
tp6-demo目录后,运行php -r "require 'vendor/autoload.php'; var_dump(class_exists('think\App'));",输出bool(true)才算自动加载通 -
runtime/目录必须可写(Linux/macOS:执行chmod -R 755 runtime),否则日志、缓存全挂,页面空白无提示 - 执行
php think version,输出类似v6.3.0,而非Command "version" is not defined—— 后者说明think命令没注册进 autoload,基本等于白装
真正容易被忽略的是:Web 服务器的根目录必须指向 public/,不是项目根目录。哪怕本地用 php -S 启动,也得用 -t public/ 参数,否则路由和环境变量全乱套。



















