最新下载
热门教程
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
ThinkPHP部署Composer依赖安装方法 操作教程
时间:2026-07-28 07:04:53 编辑:袖梨 来源:一聚教程网
ThinkPHP部署Composer依赖的核心是分场景使用正确命令并验证:新项目用composer create-project初始化完整骨架,已有项目用composer require添加扩展,安装后须检查vendor和composer.json,并手动配置服务提供者、清理缓存、设置权限。
ThinkPHP 部署 Composer 依赖,核心是“在正确位置、用正确命令、做正确验证”。不是所有 require 都能直接用,也不是装完就万事大吉。关键看你是初始化新项目,还是给已有项目加功能。
一、新项目:用 create-project 初始化完整骨架
ThinkPHP 6+ 不再支持 composer require topthink/think 这种方式建项目——它只会把框架放进 vendor,不生成 app/、config/、public/ 等目录,必然报错 Class 'thinkApp' not found。
- 确保当前是空目录,打开终端执行:
composer create-project topthink/think tp-app - 想指定版本(如 TP 8.0):
composer create-project "topthink/think:^8.0" tp-app - 安装完成后进入
tp-app目录,确认存在public/和runtime/目录 - Linux/macOS 下赋予 runtime 写权限:
chmod -R 755 runtime/ - Web 服务器必须以
public/为根目录,否则路由和静态资源会 404
二、已有项目:用 require 添加扩展模块
验证码、队列、Excel、视图引擎等都属于“扩展包”,必须在已存在的 ThinkPHP 项目根目录(含 composer.json、app/、config/)下操作。
- 先 cd 进入项目根目录,再执行:
composer require topthink/think-captcha - 指定版本更稳妥(例如队列包匹配 PHP 版本):
composer require topthink/think-queue:^4.0 - 安装后检查:
– vendor/topthink/ 下有对应文件夹
– composer.json 的require区域新增了该包 - 部分包(如 think-queue、think-swoole)不会自动复制配置文件,需手动从
vendor/topthink/xxx/config/复制到项目config/目录
三、服务提供者与自动加载必须手动核对
装完不等于能用。ThinkPHP 6/7/8 依赖服务提供者注册机制,漏了这步,类找不到、命令不生效。
立即学习“PHP免费学习笔记(深入)”;
- 打开
config/app.php,检查'providers'数组是否包含扩展的服务提供者类,例如:thinkcaptchaCaptchaService::class - 若没有,手动追加;注意末尾加逗号,数组格式保持合法
- 检查
composer.json中是否有"dont-discover": ["*"]—— 有就删掉,否则自动发现失效 - 运行
composer dump-autoload -o强制刷新自动加载映射
四、加速与排错:国内镜像 + 清缓存 + 权限检查
安装慢、找不到包、权限拒绝,90% 是环境配置问题,不是代码问题。
- 切阿里云镜像(全局生效):
composer config -g repo.packagist https://mirrors.aliyun.com/composer/ - 清本地缓存:
composer clear-cache - 验证 PHP CLI 版本与 Web 一致:
which php和php -v,避免 MAMP/XAMPP 环境错配 - Windows 用户别双击
think文件,必须用php think run启动 - Linux/macOS 下确保
think文件可执行:chmod +x think