全球共有10多个国家和地区1000多个平台,20万+商户使用
WordPress告别MySql
作者: 符云川 发布时间: 2024-04-21 97 分类专栏: 博客
2003 年,Michel Valdrighi 基于 b2/cafelog 创建了开源软件 WordPress,并在 GPL 协议下发布。
随后的二十年里,WordPress 一路狂奔,逐渐变成了全球使用量最大的 CMS,一边是老用户吐槽的过于臃肿的 “口诛笔伐”,一边是用户量的不断攀升,在 WordPress 插件市场中出现过非常多关于性能和成本优化的方案。
使用 SQLite 替代 WordPress 默认使用的 MySQL 就是其中不可不提的方案。
自 2009 年开始,社区用户 Justin Adie 就推出了能够替代 MySQL 的 PDO (SQLite) For WordPress,支持了 2.x 版本的 WordPress。
2013 年开始,社区用户 Kojima Toshiyasu 推出了上面程序的改进版本,能够支持 3.x ~ 4.1 版本的 WordPress。
随后 WordPress 使用的 PHP 版本进行了漫长的切换和升级,社区中许多的插件想要正确使用,都需要一些额外的工作,而这个时候,上面这些插件的作者或许是早已不再使用 WordPress ,所以插件的更新就停在了十年前,直到 2018~2019 年,WordPress 社区因为“插件和本体不兼容”的原因,批量禁用了这些插件的下载。
在 2022 年 9 月,官方发布了一篇有趣的文章 Let’s make WordPress officially support SQLite,由官方支持的 SQLite 数据库替代方案有了相对稳定的保障。
不过,目前官方还未提供开箱即用的 SQLite 容器镜像,甚至在项目中也没有安装使用方案,所以我花了一些时间,折腾了一个开箱即用的开源项目,基于官方镜像,进行 SQLite 集成,让我们能够在本地脱离“MySQL / MariaDB 数据库” 来运行 WordPress。
项目代码开源在 soulteary/docker-sqlite-wordpress,欢迎自取和一键三连。
使用 SQLite 运行 WordPress 的意义
在这个地球上,不论你想创建一个大或者小一些的网站,简洁或复杂一些的网站,WordPress 都能够满足你。目前公开的市场份额统计中,WordPress 占据了网站市场的 43.3%,CMS 市场的 62.8%,大概有 4.72 亿个站点基于它运行。
常见的网站类型包含:
单页登陆网站
很少更新的,寥寥几页的公司网站。(带有管理功能的“静态站点”)
简单的用户博客
复杂的新闻网站
电子商务网站
成熟的 CMS 解决方案
不论 WordPress 的使用场景如何变化、受欢迎程度如何变化,唯一不变的是这些网站总是要使用 MySQL、MariaDB 这类数据库来进行数据存储。这个“限制”让 WordPress 必须运行在一些资源相对充盈的环境。
但其实如果你只有几千个用户、几千个帖子,并不需要使用 MySQL 或者 MariaDB,使用 SQLite 可以让运行资源要求降低到在手机或者路由器中运行你的网站。
之所以选择 SQLite ,因为它是一个几乎完美的选择:
它是全球使用最广泛的数据库,并且是跨平台的,不论是在各种 PC、服务端程序,还是在你的手机应用中。
默认情况下,它被包含在所有的 PHP 构建中。除非你在构建的使用明确禁用它。
使用它可以让 WordPress 能够脱离 MySQL / MariaDB 运行在纯粹的 PHP 运行环境中,降低服务端托管成本、能源消耗和性能成本。
让我们简单来了解下它的原理和当前方案面临的问题吧。
原理和问题
想要在 WordPress 中使用 SQLite 作为数据存储后端并不复杂,目前所有的实践几乎都是使用“插件”搭配 wp-content/db.php 这个方式,来替换内置的数据库抽象层,经过大量的测试验证,这个方法是可行的。
不过,或许 WordPress SQLite 支持应该在 WordPress Core 核心支持中,而非插件中,因为数据库选择应该是首次安装站点时去确定的事情,不应该在事后完成,额外的数据库迁移动作还是非常麻烦的。
所以,官方推出了开源项目 WordPress/sqlite-database-integration,虽然目前的使用方式还是插件模式,但是后续随着完整的语法兼容(SQLite 和 MySQL 对齐),完整的应用测试覆盖后,会被直接应用到 WordPress 主干也是非常有可能的。
符云川
2390155928@qq.com
小当家ISV,重庆APP开发,小程序开发,软件系统开发 地址:重庆市南岸区南坪万达广场写字楼2栋19-6 联系电话:023-81361879
ICP备案号:渝ICP备15003473-1 增值电信业务许可证: 渝B2-15003473 渝公网安备 50010802005103号
友情链接: 小当家点餐收银系统 MagicShop商城 重庆微信营销 重庆智能家居 重庆红岭医院
重庆小当家互联网信息技术有限公司