一、环境要求
| 软件 | 要求 | 说明 |
| PHP | ≥ 8.0.6(推荐 8.1 或 8.2) | ThinkPHP 8 硬性要求,7.4 无法运行 |
| Composer | 2.x | 依赖管理工具 |
| 目标目录 | 必须为空 | composer create-project 要求空目录 |
| 网络 | 可访问 packagist | 国内常用阿里云镜像加速 |
二、PHP 必需扩展清单
ThinkPHP 8 及其生态需要以下扩展,全部必须启用:| 扩展 | 用途 | 是否必须 |
| pdo_mysql | 数据库连接(本项目核心) | ✅ 必须 |
| openssl | Composer 安全下载 / 支付 / 加密 | ✅ 必须 |
| curl | HTTP 请求(采集、短信、支付回调等) | ✅ 必须 |
| mbstring | 中文、多字节字符串处理 | ✅ 必须 |
| fileinfo | 上传文件类型检测 | ✅ 必须 |
| gd | 图片处理(验证码、缩略图、水印) | ✅ 必须 |
| zip | 备份、打包、扩展包处理 | ✅ 必须 |
| json | PHP 8 内置,无需手动启用 | ✅ 必须 |
| session | 内置,无需手动启用 | ✅ 必须 |
| PDO | 数据库抽象层,需开启 | ✅ 必须 |
启用方式(二选一)
方式 A:phpStudy 面板1. 打开 phpStudy 面板 → 「软件管理」→ PHP → 选择你的版本(如 8.2.9)
2. 点击「设置」→ 勾选上表中的扩展 → 保存
3. 重启 Apache/Nginx 服务
方式 B:手动编辑 php.ini(推荐,最可靠)
找到 PHP 安装目录下的 php.ini,确保包含以下内容并去掉行首 ;:
; 扩展目录(必须,否则找不到 DLL)
extension_dir = "ext"
; 必需扩展
extension=openssl
extension=curl
extension=mbstring
extension=fileinfo
extension=pdo_mysql
extension=gd
extension=zip
; 时区
date.timezone = Asia/Shanghai
验证扩展是否生效
php -vphp -m
php -m 输出的列表中应能看到 openssl、pdo_mysql、curl、mbstring、gd、fileinfo、zip。
⚠️ phpStudy 常见坑:某版本 PHP 的 php.ini 可能是 0 字节空文件(如 8.2.9nts 曾出现),导致扩展一个都加载不了,面板勾选也不生效。
解决办法:把 PHP 目录自带的 php.ini-development 复制并覆盖 php.ini,再按上面方式启用扩展。
三、确认 Composer 可用
composer --version# 期望输出:Composer version 2.x.x
若 Composer 绑定的 PHP 版本不对(如默认 PHP 7.4),可以显式指定 PHP 版本运行:
& "D:\phpstudy_pro\Extensions\php\php8.2.9nts\php.exe" "d:\composer\composer.phar" --version
四、第一步:安装 ThinkPHP 8 核心框架
4.1 创建项目骨架
cd /d D:\www # 进入存放项目的上级目录(示例)composer create-project topthink/think mythink8
或安装到已存在的空目录:
composer create-project topthink/think "h:\kaifa\mythink8"
若运行时报 openssl 相关错误,说明 PHP 的 openssl 扩展没启用,回到第二节处理。
4.2 处理 think-trace 无稳定版的问题
执行 create-project 时若报错:Root composer.json requires topthink/think-trace ^2.0, found topthink/think-trace[2.0.x-dev] but it does not match your minimum-stability.
编辑项目根目录的 composer.json,在 require-dev 中给这两个包加上 @dev:
"require-dev": {
"topthink/think-dumper": "^1.0@dev",
"topthink/think-trace": "2.0.*@dev"
}
4.3 安装依赖
cd h:\kaifa\mythink8composer install
4.4 验证
php think version# 期望输出:v8.1.x
五、第二步:安装多应用组件(think-multi-app)
本项目是 15+ 模块的 CMS(admin/home/api/member...),必须支持多应用:composer require topthink/think-multi-app
安装完成后 URL 与目录的对应关系:
/index.php/admin/xxx/yyy → app/admin/controller/Xxx.php → yyy()
/index.php/member/... → app/member/controller/...
即:每个模块 = app/模块名/ 目录,与旧版 application/模块名/ 一一对应。
六、第三步:安装模板引擎(think-view)
ThinkPHP 6/8 把模板引擎从核心框架中拆出,需单独安装才能使用 $this->fetch() / $this->assign() 渲染 HTML 页面(前台模板、后台视图、自定义标签 TagLib 都依赖它):composer require topthink/think-view
安装时会自动附带 topthink/think-template(模板引擎本体)。
不装会怎样:控制器一调用 fetch() 就报「模板引擎不支持」。
七、最终验证
7.1 查看依赖清单
composer show关键包及版本(本次安装实测):
| 包 | 版本 |
| topthink/framework | v8.1.x |
| topthink/think-orm | v3.x 或 v4.x |
| topthink/think-multi-app | v1.1.x |
| topthink/think-view | v2.0.x |
| topthink/think-template | v3.0.x |
| topthink/think-validate | v3.0.x |
| topthink/think-filesystem | v2.x 或 v3.x |
7.2 最终目录结构
项目目录/├── app/ # 应用目录(多应用模式下 app/模块名/)
├── config/ # 配置目录
├── extend/ # 扩展类库
├── public/ # 入口目录(index.php)
├── route/ # 路由目录
├── runtime/ # 运行缓存
├── vendor/ # Composer 依赖
├── view/ # 模板目录
├── think # CLI 入口
├── composer.json
└── composer.lock
7.3 快速连通性测试
php think version # 框架版本php think route:list # 路由列表
八、常见问题 FAQ
Q1:Module "openssl" is already loaded 警告
php.ini 里把 openssl 写了多遍(或内置 + 手动重复加载)。无害,删掉其中一行 extension=openssl 即可消除。Q2:下载包时 404(镜像源问题)
Failed downloading ... 404说明镜像源里没有该包的 dist 包。可切换镜像源:
# 使用阿里云镜像
composer config -g repo.packagist composer https://mirrors.aliyun.com/composer/
# 恢复官方源
composer config -g repo.packagist composer https://repo.packagist.org
Q3:Composer 报「PHP 版本过低 / 平台要求不满足」
Composer 使用的 PHP 版本低于 8.0.6。两种解决方式:# 方式1:切换系统默认 PHP 到 8.x(推荐)
# 方式2:显式指定 PHP 8.2 运行 composer(不改变系统默认)
& "D:\phpstudy_pro\Extensions\php\php8.2.9nts\php.exe" "d:\composer\composer.phar" install
Q4:create-project 报「目录不是空的」
目标目录必须为空。要么换空目录,要么先清空:# 先清空目标目录(注意备份有用的文件)
Remove-Item "目标目录\*" -Recurse -Force
Q5:PHP 扩展一个都加载不了
大概率是 php.ini 空文件或没有 extension_dir。参照第二节「方式 B」重建 php.ini。Q6:php think 命令找不到
确认在项目根目录执行,且 think 文件存在(create-project 自动生成)。附:本次完整命令流水(可直接照抄)
# 1. 检查 PHP 版本与扩展php -v
php -m
# 2. 创建 ThinkPHP 8 项目(目录必须为空)
composer create-project topthink/think "h:\kaifa\mythink8"
# 3. 修改 composer.json:think-trace / think-dumper 加 @dev
# 4. 安装依赖
composer install
# 5. 验证核心框架
php think version
# 6. 安装多应用组件
composer require topthink/think-multi-app
# 7. 安装模板引擎
composer require topthink/think-view
# 8. 最终验证
composer show
php think version

















文章点评