您的位置 首页 php

WordPress 将在核心底层直接支持 SQLite

我们知道 WordPress 是非常容易扩展的,可以通过二次开发来实现几乎所有网站的需求,比如:

  • 单个落地页
  • 只有几页的简单的公司网站,很少更新,但本质上是具有管理功能的静态站点。
  • 简单的单用户博客
  • 有点复杂的新闻网站
  • 购物网站
  • 全功能的 CMS 解决方案

因此 WordPress 应用越来越广泛,但是有个方面从未改变,就是数据库:WordPress 一直使用 MySQL 或 MariaDB 数据库。

WordPress 站点使用 MySQL 数据库 一般会有两种选择,一是使用专有的 MySQL 服务器( RDS ),会增加了网站的托管成本,二是在服务器上同时安装 PHP 和 MySQL,这样则会降低服务器的性能。

然后一些数量众多的小而简单的站点,比如个人博客和公司页面,这些站点没有数千名用户或几万篇的文章,他们几乎用不到 MySQL数据库 的复杂功能。

数据库抽象层

在理想情况下,如果 WordPress 能够实现数据库抽象层的话,这样 WordPress 就可以使用任何类型的数据库。

数据库抽象层在很多 CMS 比如 Drupal 十多年前就实现了,其他 PHP 框架比如 Laravel Symfony 也有允许使用多种数据库类型的 ORM

但是目前来看,在 WordPress 中实现数据库抽象层是一项艰巨的任务,在短期来看有比较大的难度,不过在未来是可以被实现的。

实现 SQLite

作为过渡,可以先为中小型网站和博客提供一个使用 SQLite 的解决方案,因为这些站点不一定需要复杂的 MySQL 数据库,SQLite 可能是更完美的选择:

  • 它是全球使用最广泛的数据库
  • 它是跨平台的,可以在任何设备上运行
  • 它默认包含在所有 PHP 安装中(除非明确禁用)
  • 这样 WordPress 的最低要求只需要一个简单的 PHP 服务器,而不需要单独的 数据库服务器
  • 支持 SQLite 可以降低服务器托管成本、降低能耗并降低低端服务器的性能成本。

在 WordPress 核心中实现 SQLite

目前在 WordPress 中使用 SQLite 很简单,8年前就有人实现了,并且经过全面测试证明可以和 WordPress 无缝工作,它是通过将 SQLite 版本的 db.php 文件放置到 wp-content/db.php

然而大多数人并不知道还可以这样操作,也不知道这样就可以选择没有 MySQL 的更便宜的主机,然后使用 SQLite 数据库安装 WordPress。毕竟对技术不是那么了解,他们只是想要一个简单的公司网站或博客。

所以 WordPress 官方准备通过在核心代码中加入现有的 SQLite 实现来正式支持 SQLite,并且确保得到完善的测试和支持,此外提供选项让用户知道这件事情。比如在安装的时候可以 SQLite 和 MySQL 二选一,或者在 in wp-config.php 中定义 DATABASE _TYPE 常量来实现。

为什么核心而不是插件?

使用哪种数据库一般来说应该是首次安装站点去选择,而不是安装好之后再去调整。安装好之后调整就需要将数据从一个数据库迁移到另一个数据库,这通常很复杂。

因此最好 WordPress 在核心代码中就支持 SQLite,和 MySQL 并存,让用户选择。如果用户要两种数据库之间的 数据迁移 ,则可以通过插件来实现,但是数据库引擎本身应该属于 Core。

当然这个是 WordPress 官方目前的一个想法,如果真正要实现,还有很多步骤要去做,比如 wp-config.php 文件中 DATABASE_TYPE 的常量,移植到 WordPress Core 之后, 编码 规范,代码内文档,迁移测试等,还有使用 SQLite 测试 WordPress 核心功能,以及让插件开发人员测试等。

但是把 SQLite 加入 WordPress 核心还是一个非常棒的想法,拭目以待。

文章来源:智云一二三科技

文章标题:WordPress 将在核心底层直接支持 SQLite

文章地址:https://www.zhihuclub.com/154192.shtml

关于作者: 智云科技

热门文章

网站地图