logo

额外区块类型 (EBT) - 全新的布局构建器体验❗

额外区块类型 (EBT) - 样式化、可定制的区块类型:幻灯片、标签页、卡片、手风琴等更多类型。内置背景、DOM Box、JavaScript 插件的设置。立即体验布局构建的未来。

演示 EBT 模块 下载 EBT 模块

❗额外段落类型 (EPT) - 全新的 Paragraphs 体验

额外段落类型 (EPT) - 类似的基于 Paragraph 的模块集合。

演示 EPT 模块 滚动

滚动

1.2.1. 更新 Drupal 8 的模块和核心

16/10/2025, by Ivan

Drupal 8 的核心和模块经常会发布更新。并非所有更新都必须安装,最重要的是关注安全更新。Drupal 会用红色提示这些关键更新。更新的方式取决于你最初是如何安装 Drupal 的——如果你是通过 Composer 创建的项目,那么可以直接用 Composer 来更新;如果是从 drupal.org 下载的压缩包安装的,就需要手动更新。

通过 Composer 更新 Drupal

使用 Composer 更新 Drupal 是一项非常常规的任务,只需执行一条命令:

composer update drupal/core --with-dependencies

务必要加上 --with-dependencies 参数,以确保依赖的 PHP 库也能同步更新。执行完命令后,需要运行 update.php 文件,或者使用命令:

drush updatedb

drupal update:execute

手动更新 Drupal(不使用 Composer 或 Drush)

你也可以参考这篇手动更新 Drupal 的文章:

https://drupalbook.org/ru/drupal/122-obnovlenie-drupal-8-bez-drush-i-bez-composer

drupal update

官方更新说明请参考:
https://www.drupal.org/node/1494290

不过官方建议“删除所有旧文件”的方式存在一定风险,因为有些第三方模块(如 Drupal Commerce)可能依赖自定义的库文件。

更新前准备:

1. 在更新 Drupal 或模块前,务必先备份整个网站和数据库。

你可以使用 Adminer 导出数据库,参考教程:
https://drupalbook.org/ru/drupal/15-vybor-hostinga-pokupka-domennogo-imeni-perenos-sayta-na-hosting

2. 下载最新版 Drupal 8.x 或模块对应的更新包。

3. 将压缩包单独解压到本地,检查 vendor 文件夹中是否包含全部依赖库。如果有缺失的 PHP 库,可以手动复制或通过 Composer 安装。例如在安装 Drupal Commerce 时,vendor 目录中会包含额外的库:

Drupal module update

在更新前务必再次确认已备份网站。

一般情况下,如果只是从 8.0.1 升级到 8.0.5,可以直接覆盖文件;但若跨大版本更新(如 8.0.x → 8.1.x),建议谨慎操作,因为结构可能发生变化。

4. 启用维护模式

路径:
/admin/config/development/maintenance
开启维护模式后,用户将无法访问网站,防止更新时出现错误。更新完成后别忘了关闭维护模式。

5. 删除旧文件

删除除以下目录外的所有文件:/sites/themes/modules

这三者分别包含:

  • /sites — 网站内容、配置和上传文件;
  • /themes — 自定义主题;
  • /modules — 额外模块。

⚠️ 删除前请三次确认已备份!删除后网站将暂时无法访问。

如果通过 FTP 上传新文件且网速较慢,整个过程可能需要 1 小时以上。建议使用 SSH 或在本地环境(如 OpenServer)中完成更新。

6. 上传新版本文件

将新版本 Drupal 的所有文件复制到服务器(除 /sites/themes/modules 目录)。

如果服务器支持 SSH,可直接上传压缩包并通过命令解压:

针对 .tar.gz 文件:

tar -xvzf archive.tar.gz

针对 .zip 文件:

unzip archive.zip

推荐使用 WinSCP,可在其界面直接执行解压命令:

https://winscp.net/eng/docs/lang:ru

自定义命令文档:
https://winscp.net/eng/docs/custom_commands

你还可以使用 7Zip 创建自解压 .tar.gz 压缩包,将 Drupal 核心文件直接打包,上传后在服务器端一键解压。

Drupal module update

7. 检查 settings.php

如果更新后提示错误,可以手动修改 settings.php 文件。详细信息可在系统状态页查看:

/admin/reports/status

8. 恢复自定义修改

将之前在 .htaccessrobots.txt 文件中的自定义内容重新添加。

9. 恢复网站图标

如果使用了自定义 favicon.ico,请重新上传。

10. 登录并运行数据库更新

以管理员身份登录,然后访问:

https://example.com/update.php

11. 关闭维护模式

路径:/admin/config/development/maintenance

如果你的网站处于生产环境,请勿直接在生产服务器上实验更新。建议先在本地环境(如 OpenServer)建立副本,确保更新过程无错误后再应用到正式网站。

若在更新过程中遇到错误,请留言讨论,我们会一起分析解决。