Synology DSM 访问WordPress提示“建立数据库连接时出错”?5步完整解决指南
一、开篇:Synology DSM WordPress 数据库连接错误的痛点与解决逻辑
许多在Synology NAS上搭建WordPress网站的用户,常会遇到一个致命问题——访问网站时页面显示“建立数据库连接时出错”,无法加载文章、图片等内容,严重影响访客体验。这一错误的核心原因,是WordPress与后端数据库(Synology默认使用MariaDB)的“通信中断”:要么数据库未运行,要么连接配置错误,要么PHP缺少必要扩展。本文基于Synology官方技术指南(https://kb.synology.cn/zh-cn/DSM/tutorial/database_connection_error_when_accessing_wordpress),从“基础服务检查→配置验证→终极修复”三个层级,提供分版本、可落地的解决方案,覆盖DSM 7.0+与6.2-不同界面,即使是新手也能按步骤解决WordPress数据库连接问题。
二、前置知识:1分钟搞懂WordPress与数据库的“依存关系”
在动手排查前,先明确一个核心逻辑:WordPress本身不存储内容(如文章、用户信息),所有数据都存放在MariaDB/MySQL数据库中。当你访问WordPress时,流程是这样的:
1. 浏览器发送请求到Synology NAS上的WordPress;
2. WordPress通过PHP脚本,向MariaDB数据库发送“读取数据”请求;
3. MariaDB返回数据,WordPress渲染成网页并展示给浏览器。
而“建立数据库连接时出错”,就是第2步出现问题——WordPress无法正常与MariaDB沟通,可能是“数据库没开机”“PHP没带‘沟通工具’(扩展)”“‘沟通密码’错了(凭据错误)”这三类原因。
三、分步解决:从简单到复杂,5步修复WordPress数据库连接
3.1 第一步:检查MariaDB服务是否正常运行(最基础原因)
WordPress依赖MariaDB数据库,若MariaDB未启动或崩溃,必然出现连接错误。需按DSM版本检查,步骤如下:
适用所有DSM版本:通过“套件中心”检查
1. 登录Synology DSM管理员账号,点击主菜单中的“套件中心”(蓝色购物袋图标);
2. 在左侧导航栏点击“已安装”,找到“MariaDB 10”或“MariaDB 5”(不同DSM版本预装版本不同,均支持WordPress);
3. 查看“状态”列:
- 若显示“已运行”:说明数据库服务正常,进入下一步排查;
- 若显示“已停止”“错误”:点击右侧“启动”或“修复”,等待1-2分钟后刷新状态(如图1:MariaDB启动界面,标注“启动”按钮与“已运行”状态);
4. 若启动失败(如提示“端口被占用”):
- 进入“控制面板”→“网络”→“终端机与SNMP”,查看“MySQL/MariaDB端口”(默认3306);
- 若端口被其他服务占用,需停止占用服务,或在MariaDB设置中修改端口(仅推荐高级用户操作)。
3.2 第二步:启用PHP的MySQL扩展(WordPress的“沟通工具”)
WordPress通过PHP脚本连接数据库,若PHP未启用“MySQL相关扩展”,就像没带“翻译器”,无法与MariaDB沟通。需分DSM版本启用扩展,步骤如下:
| DSM版本 | 操作路径 | 详细步骤 |
|----------|----------|----------|
| DSM 7.0及以上 | Web Station → 脚本语言设置 → PHP → 扩展 | 1. 打开DSM主菜单,找到“Web Station”(灰色服务器图标),点击进入;
2. 左侧选择“脚本语言设置”,在“PHP”列表中,找到WordPress使用的PHP版本(如“PHP 8.1”,可在WordPress站点设置中查看);
3. 点击该PHP版本右侧的“编辑”,切换到“扩展”选项卡;
4. 勾选“mysqli”“pdo_mysql”两个扩展(这是WordPress连接MySQL/MariaDB的核心扩展,缺一不可);
5. 点击“确定”,系统自动保存并重启PHP服务 |
| DSM 6.2及以下 | Web Station → PHP 设置 → 默认服务器设置 | 1. 打开“Web Station”,左侧选择“PHP 设置”;
2. 点击“默认服务器设置”,在“PHP 扩展”区域,找到“mysqli”“pdo_mysql”;
3. 勾选两个扩展,点击“应用”,等待设置生效 |
验证方法:启用后,新建一个PHP测试文件(如test.php),内容如下:
```php
phpinfo();
?>
```
将文件放在WordPress根目录(如/web_packages/wordpress),通过浏览器访问“NAS_IP/test.php”,搜索“mysqli”“pdo_mysql”,若显示“enabled”,说明扩展启用成功。
3.3 第三步:检查wp-config.php中的数据库凭据(最常见错误)
wp-config.php是WordPress的“核心配置文件”,其中存储着连接数据库的关键信息(如数据库名、用户名、密码),若这些信息错误,必然连接失败。需按以下步骤核对:
步骤1:找到wp-config.php的位置(分DSM版本)
- DSM 7.0及以上:打开“File Station”→“web_packages”→“wordpress”,找到“wp-config.php”文件;
- DSM 6.2及以下:打开“File Station”→“web”→“wordpress”,找到“wp-config.php”文件(如图2:wp-config.php位置示意图,标注文件路径)。
步骤2:编辑文件并核对4个核心参数
1. 右键点击“wp-config.php”,选择“编辑”(若提示“需要管理员权限”,点击“继续”);
2. 在文件中找到以下4行代码,重点核对:
```php
define( 'DB_NAME', 'wordpress' ); // 数据库名
define( 'DB_USER', 'wp_user' ); // 数据库用户名
define( 'DB_PASSWORD', '123456' );// 数据库密码
define( 'DB_HOST', 'localhost' ); // 数据库地址
```
3. 逐一验证参数正确性:
- DB_NAME(数据库名):需与MariaDB中为WordPress创建的数据库名一致;
- DB_USER(用户名):需是拥有该数据库访问权限的MariaDB用户;
- DB_PASSWORD(密码):需与该用户的密码完全匹配(区分大小写);
- DB_HOST(地址):默认填“localhost”,若连接失败,可尝试改为“127.0.0.1”(部分DSM版本需用IP地址连接)。
步骤3:用phpMyAdmin验证凭据(关键!)
若不确定参数是否正确,可通过phpMyAdmin(Synology预装工具)验证:
1. 打开DSM主菜单,找到“phpMyAdmin”并点击,进入登录界面;
2. 输入wp-config.php中的“DB_USER”和“DB_PASSWORD”,点击“执行”;
- 若登录成功:进入后查看左侧“数据库”列表,是否有“DB_NAME”对应的数据库(如“wordpress”),若有,说明凭据正确;
- 若登录失败:提示“访问被拒绝”,说明DB_USER或DB_PASSWORD错误,需重新设置MariaDB用户密码(步骤:在phpMyAdmin登录页点击“忘记密码”,或通过MariaDB套件的“重置密码”功能)。
3.4 第四步:检查站点代码中的数据库连接信息(排除自定义错误)
若上述步骤无问题,可能是WordPress的主题、插件或自定义代码修改了数据库连接信息,需排查:
1. 切换默认主题:
- 登录WordPress后台(若能登录,若不能则通过File Station操作),进入“外观”→“主题”,激活“Twenty Twenty-Three”等默认主题;
- 若无法登录后台:通过File Station进入“wordpress/wp-content/themes”,将当前使用的主题文件夹重命名(如“mytheme_bak”),WordPress会自动切换到默认主题;
2. 禁用所有插件:
- 能登录后台:进入“插件”→“已安装插件”,勾选所有插件,选择“禁用”;
- 不能登录:通过File Station进入“wordpress/wp-content/plugins”,将所有插件文件夹重命名(如“plugin1_bak”);
3. 测试访问:若切换主题或禁用插件后,网站能正常打开,说明是原主题或某插件导致的连接错误,可逐一启用插件/切换主题,定位具体问题源。
3.5 第五步:卸载重装WordPress(终极解决方案)
若以上方法均无效,说明WordPress核心文件或数据库已损坏,需通过“卸载重装”修复,但务必先备份数据,避免内容丢失:
步骤1:备份关键数据(必做!)
1. 备份wp-content文件夹:通过File Station找到WordPress根目录下的“wp-content”(存放文章图片、主题、插件),右键点击“复制”,粘贴到NAS的其他文件夹(如“Backup/WordPress”);
2. 备份数据库:通过phpMyAdmin登录,选中WordPress数据库(如“wordpress”),点击“导出”→“快速”→“执行”,将SQL文件保存到本地电脑;
步骤2:卸载WordPress
1. 进入DSM“套件中心”→“已安装”,找到“WordPress”;
2. 点击右侧“卸载”,在弹出窗口中勾选“同时删除应用程序数据”(注意:这会删除WordPress核心文件,但之前备份的wp-content和数据库不受影响),点击“确定”;
3. 卸载完成后,进入phpMyAdmin,删除原WordPress数据库(如“wordpress”),避免重装时冲突。
步骤3:重新安装WordPress
1. 在“套件中心”搜索“WordPress”,点击“安装”,按向导完成安装;
2. 安装过程中,会提示“数据库设置”,填写正确的信息(与备份时的数据库名、用户名一致,密码可重新设置);
3. 安装完成后,通过File Station将备份的“wp-content”文件夹覆盖到新WordPress根目录,再通过phpMyAdmin导入备份的SQL文件,恢复所有文章和配置。
四、常见问题FAQ:解决排查中的高频卡点
Q1:修改了wp-config.php后,网站提示“错误建立数据库连接”更频繁,怎么办?
A1:大概率是修改时格式错误,需检查:
1. 确保参数值用英文单引号包裹,如`define( 'DB_NAME', 'wordpress' );`,不可用中文引号;
2. 每个参数行末尾有分号“;”,不可遗漏;
3. 若不确定,可从WordPress官网下载对应版本的wp-config-sample.php,重新填写参数后替换原文件。
Q2:phpMyAdmin登录时提示“1045 访问被拒绝”,无法验证凭据,怎么办?
A2:用DSM管理员账号重置MariaDB root密码:
1. 进入DSM“套件中心”→“已安装”,找到“MariaDB 10”,点击“操作”→“重置密码”;
2. 输入新密码,点击“确定”;
3. 用“root”账号和新密码登录phpMyAdmin,进入后重新设置WordPress数据库用户的密码(“用户账户”→找到wp_user→“编辑权限”→修改密码)。
Q3:DSM 7.0+找不到“/web/wordpress”文件夹,怎么办?
A3:DSM 7.0+调整了Web文件路径,WordPress默认安装在“/web_packages/wordpress”,而非旧版本的“/web/wordpress”,可通过以下路径找到:
1. 打开“File Station”,点击左侧“web_packages”(若未显示,点击“查看”→“显示隐藏的系统文件夹”);
2. 进入“web_packages”,即可看到“wordpress”文件夹。
五、总结:排查数据库连接错误的“优先级原则”
解决Synology DSM上WordPress的“建立数据库连接时出错”,需遵循“从简单到复杂”的原则,避免一开始就重装导致数据丢失:
1. 先检查MariaDB是否运行(最基础,1分钟可完成);
2. 再启用PHP的MySQL扩展(确保“沟通工具”到位);
3. 核心排查wp-config.php凭据(80%的错误源于此);
4. 最后排查代码/插件问题或重装(万不得已的选择)。
通过以上步骤,99%的WordPress数据库连接错误都能解决。若操作中遇到MariaDB启动失败、PHP扩展无法勾选等复杂问题,可参考Synology官方知识库(https://kb.synology.cn/zh-cn/DSM/tutorial/database_connection_error_when_accessing_wordpress),或通过DSM“支持中心”提交工单,获取官方技术支持。
Copyright © 2011-2020 北京群晖时代科技有限公司 版权所有 京ICP备2020037175号-2