ThinkPHP部署Composer依赖安装方法 操作教程

作者:袖梨 2026-07-28
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 phpphp -v,避免 MAMP/XAMPP 环境错配
  • Windows 用户别双击 think 文件,必须用 php think run 启动
  • Linux/macOS 下确保 think 文件可执行:
    chmod +x think

相关文章

精彩推荐