You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

编写If Else PHP脚本实现WordPress数据库连接异常时加载静态页面

解决WordPress数据库宕机时显示自定义页面的方案

我来帮你搞定这个头疼的问题——当MySQL数据库频繁宕机时,让WordPress自动切换到你准备的友好静态页面,而不是默认的“Unable to connect to Database”生硬提示,这样能给用户好得多的体验。

下面是具体的修改方案,直接替换你的WordPress根目录下的index.php内容即可(记得先备份原文件!):

<?php
// 加载WordPress配置文件,获取数据库连接参数
require_once(__DIR__ . '/wp-config.php');

// 手动尝试建立数据库连接
$db_connection = mysqli_connect(DB_HOST, DB_USER, DB_PASSWORD, DB_NAME);

// 判断连接状态
if (!$db_connection) {
    // 连接失败:加载自定义静态页面,替换成你实际的文件路径
    require_once(__DIR__ . '/custom-maintenance.html');
    exit; // 终止后续代码,避免触发原WordPress错误提示
}

// 连接正常:关闭手动创建的连接(WordPress后续会自行建立连接)
mysqli_close($db_connection);

// 继续执行WordPress原有的加载流程
require(__DIR__ . '/wp-blog-header.php');
?>

关键细节说明:

  • 配置复用:先引入wp-config.php是为了直接用里面的数据库常量(DB_HOST、DB_USER等),不用重复写连接信息,后续数据库配置变更时也不用改这段代码;
  • 连接检测:用mysqli_connect手动尝试连接,失败时会返回false,我们以此作为判断依据,比等WordPress抛出错误更前置;
  • 自定义页面:把custom-maintenance.html替换成你实际准备的静态文件路径——比如可以做一个简单页面,告诉用户“网站临时维护中,稍后回来”,搭配一些温和的样式;
  • 流程终止:连接失败时用exit停止后续代码,确保不会触发原WordPress的错误提示;
  • 连接清理:连接正常时关闭手动创建的连接,避免和WordPress后续自动建立的连接产生冲突。

测试建议:

你可以临时修改wp-config.php里的数据库密码(改成一个错误的),刷新网站看看是否能正常加载你的自定义页面,测试没问题后再改回正确密码。

内容的提问来源于stack exchange,提问作者Brian K Buttrey

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.20 10:38:40