QQ咨询 官方微信

添加微信好友

官方小程序

百度小程序

微信小程序

头条小程序

关于我们

Thinkphp

ThinkPHP8 安装教程(Composer 全流程)

 shitouadmin  2026-10-17 20:32:30
适用环境:Windows + phpStudy(或其他 PHP 环境)+ Composer 2.x | 目标:从零到跑通 ThinkPHP 8 核心框架,并装好多应用(think-multi-app)和模板引擎(think-view)

一、环境要求

软件 要求 说明
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 -v
php -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\mythink8
composer 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
¥ 打赏
×
如果您觉得文章帮助了您就打赏一下吧
非常感谢你的打赏,我们将继续分享更多优质内容,让我们一起创建更加美好的网络世界!

支付宝扫一扫打赏

微信扫一扫打赏

本文《ThinkPHP8 安装教程(Composer 全流程)》发布于石头博客文章,作者:shitouadmin,如若转载,请注明出处:https://www.pweb123.com/kuangjia/thinkphp/1241.html,否则禁止转载,谢谢配合!

文章点评

我来说两句 已有0条评论
点击图片更换

添加微信好友

添加微信好友

微信小程序

百度小程序