WordPress 在 XAMPP 上运行必须先创建 utf8mb4 字符集的专用数据库、确保 Apache 和 MySQL 服务真正启动且端口未被占用(如 80/3306),并正确配置 wp-config.php 中 DB_NAME、DB_USER(root)、DB_PASSWORD(默认为空)、DB_HOST(必须为 localhost)及强制定义 DB_CHARSET 为 utf8mb4。

WordPress 要跑起来,必须有数据库;XAMPP 里自带 MySQL,但默认没建库、没配权限、也没设字符集——直接点“安装 WordPress”会卡在“建立数据库连接时出错”,根本进不了安装向导。
启动 Apache 和 MySQL 服务前先确认端口没被占
很多人点开 XAMPP 控制面板后直接点 Start,结果 Apache 或 MySQL 显示“Error”或“Running”一闪而过。常见原因是 80 端口(Apache)或 3306 端口(MySQL)已被 Skype、IIS、其他开发工具(如 Docker 的 MySQL 容器)占用。
- 打开控制面板右上角
Config→Service and Port Settings,检查 Apache 的端口是否为80,MySQL 是否为3306 - 若被占,可临时改 Apache 端口为
8080(改完需重启),或关掉冲突进程(如任务管理器中结束skype.exe) - 启动后,状态栏显示绿色
Running才算真正就绪;此时浏览器访问http://localhost应看到 XAMPP welcome 页面
用 phpMyAdmin 创建 WordPress 专用数据库(utf8mb4 是关键)
WordPress 5.0+ 强烈要求使用 utf8mb4 字符集,否则 emoji、部分中文生僻字、微信昵称会存成乱码或截断。用 phpMyAdmin 新建库时,不能选 utf8_general_ci(那是旧版 utf8,只支持 3 字节),必须选 utf8mb4_unicode_ci。
- 浏览器打开
http://localhost/phpmyadmin,登录用户名root,密码留空(除非你手动改过) - 点击左侧“新建”,输入数据库名(如
wp_blog),下方“排序规则”下拉菜单里选utf8mb4_unicode_ci - 点“创建”后,别急着建表——WordPress 安装脚本会自动建所有表,你只需确保库存在、字符集对、权限够
- 如果后续 WordPress 报错“Database tables are missing”,大概率是库名拼错,或你在错误的库下手动执行了 SQL(应让 wp-config.php 指向刚建的库)
配置 wp-config.php 时绕开三个典型填坑点
下载 WordPress 后,把文件解压到 XAMPP/htdocs/ 下(如 htdocs/myblog),然后复制 wp-config-sample.php 改名为 wp-config.php。里面要填的四行不是随便填的:
Word报告自动生成神器。自动生成专业Word文档报告,支持模板填充、目录生成、表格/图表插入、页眉页脚、多级标题、样式主题、批量邮件合并。当用户需要生成Word报告、创建合同文档、批量生成通知/证书、填充Word模板、制作商业计划书时触发。
-
DB_NAME:必须和 phpMyAdmin 里新建的库名**完全一致**,区分大小写(Windows 下通常不敏感,但养成习惯) -
DB_USER和DB_PASSWORD:XAMPP 默认是root和空字符串,不要填password或123456——那是在你主动改过 root 密码之后才需要的 -
DB_HOST:保持localhost即可,别改成127.0.0.1或localhost:3307(除非你改了 MySQL 端口且没同步改这里) - 额外建议:在
wp-config.php文件末尾加两行,强制 WordPress 使用 utf8mb4:define('DB_CHARSET', 'utf8mb4');define('DB_COLLATE', 'utf8mb4_unicode_ci');
运行安装时遇到 “Error establishing a database connection” 怎么快速定位
这个报错表面是连不上库,但原因五花八门。别急着重装,按顺序查这三项:
- Apache 和 MySQL 是否都显示
Running?——如果不是,看日志:XAMPP/mysql/data/mysql_error.log里有没有 “Can’t start server: Bind on TCP/IP port” 这类提示 - 浏览器能打开
http://localhost/phpmyadmin吗?能,说明 MySQL 服务通;打不开,说明 MySQL 没启起来或端口不通 - 在 phpMyAdmin 左侧能看到你填的
DB_NAME吗?看不到,说明库名写错,或你登录的是另一个 MySQL 实例(比如系统已装的 MySQL,而非 XAMPP 自带的) - 最后再检查
wp-config.php里有没有多打了空格、分号、引号,尤其是DB_PASSWORD后面的逗号——PHP 解析失败会导致白屏或致命错误,而不是这个连接错误
最易被忽略的是:XAMPP 更新后,mysql/bin/my.ini 里的 default-character-set 可能被重置为 latin1,导致新创建的库默认字符集不对。只要确保建库时手动选了 utf8mb4_unicode_ci,这个配置项影响不大——但如果你用命令行 CREATE DATABASE 却没指定 CHARSET,那就真踩坑了。










