跳到主要内容

3.10 至 4.0

解释了每个 Joomla 版本的代码更改。如果您从当前代码的版本开始,直到您想要支持的版本,您应该会遇到需要进行的所有更改。

更新的系统要求

除了对代码库本身的更改之外,我们还提高了最低系统要求。

系统要求已更新如下

  • PHP 7.2.5
  • MySQL 5.6
  • PostgreSQL 11.0
  • SQL Server 支持已删除。

PHP MySQL 扩展

  • Joomla **不再支持** 使用 PHP 的 **ext/MySQL** 驱动程序(已在 PHP 7.0 中删除)。Joomla 将自动尝试使用 MySQLi 扩展(自 PHP 5.3 开始可用)或 MySQL PDO 驱动程序(自 PHP 5.3 开始可用)。否则,它将无法创建数据库连接。

  • 严格模式已启用。以下标志现在默认在 Joomla 4 中处于活动状态,您可能需要相应地更新您的数据库查询。这将有助于我们进行将来的 MySQL 版本升级,并且更接近于 Postgres,以便更轻松地与两种语言中的查询兼容。

    • STRICT_TRANS_TABLES
    • ERROR_FOR_DIVISION_BY_ZERO
    • NO_AUTO_CREATE_USER
    • NO_ENGINE_SUBSTITUTION
  • 因此,Joomla 4 将只使用 `NULL` 日期默认值。在 Joomla 4 中使用无效的默认日期 **0000-00-00 00:00:00** 已被弃用。

PHP Postgres 扩展

Joomla **不再支持** 使用 PHP 的 **ext/pgsql** 驱动程序。Joomla 将自动尝试使用 PostgreSQL PDO 驱动程序(自 PHP 5.3 和 Joomla 3.9 开始可用)。否则,它将无法使用 Postgres 数据库创建数据库连接。

PHP GMP 扩展

这 **是必需的** 用于使用 **WebAuthn 无密码登录** 功能。请注意,PHP GMP 扩展在大多数托管站点上默认安装。WebAuthn 无密码登录系统插件 **在 Joomla 4 中默认启用** 在 **HTTPS** 站点上。

PHP mcrypt 扩展

由于 mcyprt 扩展已从 PHP 版本 7.2.0 中 **删除**,因此您需要 mycrypt PECL 包 来使用 `Joomla\CMS\Crypt\Cipher\CryptoCipher` 类及其别名 `JCryptCipherCrypto`。

对 mcrypt 的支持将在 Joomla! 5.0 或 6.0 中 **删除**。