WordPress数据库连接错误的首要原因是wp-config.php中DB_NAME、DB_USER、DB_PASSWORD、DB_HOST四行配置与phpEnv实际数据库信息不一致,包括大小写、空格、中文引号、特殊字符或DB_HOST用localhost而非127.0.0.1;其次需确认phpEnv中用户权限为全部操作权限且MySQL服务正在运行。

直接看 wp-config.php 里的四行定义是否和 phpEnv 创建的数据库信息完全一致——错一个字符、多一个空格、引号是中文的,都会报“Error establishing a database connection”。
确认 phpEnv 中数据库用户名和密码真实值
phpEnv 默认创建数据库时会生成随机密码,且不显示明文;你看到的“******”不是占位符,而是真的没存明文缓存。必须主动点开「修改密码」再勾选「显示密码」才能看到当前生效值。
- 打开 phpEnv 控制面板 → 左侧「数据库」→ 找到你给 WordPress 分配的数据库名
- 点击对应行右侧的「修改密码」图标(锁形)→ 勾选「显示密码」复选框
- 复制完整密码(注意末尾有没有换行或不可见空格)
- 如果曾手动改过密码但没同步到
wp-config.php,这就是最常见原因
检查 wp-config.php 四个关键常量是否严格匹配
这四行必须逐字核对,大小写、引号类型、分号、空格都不能差:
define('DB_NAME', 'your_db_name');
define('DB_USER', 'your_db_user');
define('DB_PASSWORD', 'your_actual_password_here');
define('DB_HOST', '127.0.0.1');
-
DB_HOST在 phpEnv 环境下建议写成'127.0.0.1'而非'localhost',因为 phpEnv 的 MySQL socket 绑定方式可能导致localhost解析失败 - 所有引号必须是英文半角单引号,中文引号或全角符号会导致 PHP 解析失败
-
DB_PASSWORD值里若含特殊字符(如$、@、/),无需转义,但复制时务必确保没带隐藏控制字符 - 保存文件后,用
file -i wp-config.php检查编码是否为utf-8,BOM 头会破坏常量定义
验证数据库用户是否拥有目标库的全部操作权限
phpEnv 的数据库管理界面里,“权限”一栏默认只给 SELECT,而 WordPress 安装和运行需要 CREATE、INSERT、UPDATE、DELETE、ALTER 全部权限。
- 在 phpEnv 数据库页,点击数据库名右侧的「管理」按钮(齿轮图标)
- 切换到「用户权限」标签页,找到对应
DB_USER名称那一行 - 如果权限列显示为「部分」或「仅查询」,点击右侧「设置权限」→ 勾选全部复选框 → 提交
- 权限变更后无需重启 MySQL,但需刷新 WordPress 页面才生效
最容易被忽略的是:phpEnv 的 MySQL 服务有时会在低内存环境下自动退出,表现为 DB_HOST 连得上但认证通过后立刻断连。如果前三步都确认无误,先去 phpEnv 面板里看 MySQL 状态是否为「运行中」,点一次「重启」比反复改配置更省时间。
php免费学习视频:立即使用
踏上前端学习之旅,开启通往精通之路!从前端基础到项目实战,循序渐进,一步一个脚印,迈向巅峰!











