TYPO3 从v9起全面支持composer安装,标准流程为用composer create-project创建项目,所有扩展须通过Composer管理,更新需显式声明版本约束并同步数据库,部署时依赖composer.lock确保一致性。

Typo3 cms 从版本9开始全面支持 Composer 安装模式,这是现代 TYPO3 项目的标准工作流。它让依赖管理、版本控制、团队协作和部署更可靠、可重复。
初始化一个全新的 Composer-based TYPO3 项目
不再下载 ZIP 包或手动复制文件。直接用 Composer 创建项目骨架:
- 运行 composer create-project typo3/cms-base-distribution my-site ^12(将
^12替换为你需要的 TYPO3 主版本,如^11或^13) - 该命令会自动安装 TYPO3 核心、推荐扩展(如 fluid_styled_content)、基础配置和 web 目录结构(
public/为文档根目录) - 确保你的
public/目录被 Web 服务器正确指向,并启用 php 的opcache和mbstring扩展
添加和管理扩展(官方与第三方)
所有扩展都应通过 Composer 安装,而非后台上传 ZIP:
- 安装官方扩展:例如 composer require typo3/cms-fluid-styled-content(已默认包含,仅作示例)
- 安装第三方扩展:如 composer require friendsoftypo3/seo-basics(需确认包名在 extensions.typo3.org 或 Packagist 上可用)
- 禁用“非 Composer 扩展”:删除
typo3conf/ext/下手动放入的扩展,它们不会被 Composer 跟踪,更新时易出错 - 若扩展尚未迁移到 Packagist,可临时添加自定义仓库(
repositories)到composer.json,但应优先推动扩展作者发布至官方源
安全、可控地更新 TYPO3 核心与扩展
更新不是点击后台“一键升级”,而是通过 Composer 显式声明版本约束:
- 升级 TYPO3 主版本(如 12.4 → 13.0):composer require typo3/cms-core:^13.0 –update-with-dependencies
- 仅更新补丁/小版本(推荐日常使用):composer update typo3/cms-core typo3/cms-* –with-all-dependencies
- 每次更新后,务必运行 bin/typo3cms database:updateschema 同步数据库,并检查
var/log/中的错误日志 - 永远不要跳过
composer install(生产环境部署时),它会严格按composer.lock还原依赖,保证环境一致性
适配部署流程与常见陷阱
Composer 模式改变了部署逻辑,需调整 CI/CD 和服务器配置:
- 部署脚本中应包含:
composer install --no-dev --prefer-dist --optimize-autoloader - 确保
typo3conf/PackageStates.php不提交到 git;改用composer dump-autoload和bin/typo3cms extension:setup在部署后激活扩展 - 避免在生产环境运行
composer update;所有变更必须先在开发环境测试并提交更新后的composer.lock - 注意:
public/typo3是符号链接(指向vendor/typo3/cms-core/public/typo3),不要手动修改其中文件
基本上就这些。Composer 模式不复杂,但容易忽略锁文件管理和部署时的 autoload 优化。坚持“声明即配置”,就能让 TYPO3 项目长期稳定、易于交接。