搜索全站
安装部署 7 分钟阅读

XAMPP / WAMP 本地安装 WordPress 常见问题与解决方案

用 XAMPP 或 WAMP 在本地安装 WordPress 时最常遇到的问题:Apache 80 端口被占用、MySQL 无法启动、phpMyAdmin 进不去、固定链接 404、上传限制过小。本文逐个给出成因分析与可直接操作的解决步骤,并附本地站点目录规范建议。

U
UFO_PF 2020-05-13 · 阅读 7 分钟
XA 安装部署
阅读提示
本文约 2,777 字,预计阅读 7 分钟。文中命令与配置均经过实测,可直接参考执行。

引言:集成环境是新手的第一选择,也是问题最多的一种

XAMPP(跨平台)和 WAMP(Windows)是很多人接触 WordPress 的起点:下载、安装、启动、把 WordPress 丢进 htdocs 或 www,看起来很简单。

但真到动手时,经常是 Apache 起不来、MySQL 启动失败、后台进不去、固定链接 404。这些问题几乎都有固定成因,并不需要重装系统式地推倒重来。

原理分析:集成环境里到底有哪些东西

XAMPP / WAMP 打包了四件套:

  • Apache:Web 服务器,监听 80(HTTPS 走 443);
  • MySQL / MariaDB:数据库,监听 3306;
  • PHP:以模块或 FastCGI 方式挂在 Apache 下;
  • phpMyAdmin:数据库管理界面。

WordPress 只是放在 htdocs(XAMPP)或 www(WAMP)下的一个目录。所以”WordPress 出问题”往往不是 WordPress 的问题,而是这四件套之一没跑起来或参数不对。

保姆级实操

第一步:安装并确认服务启动

安装完成后打开 XAMPP Control Panel,Apache 和 MySQL 两行应显示 Running。若 Apache 起不来,多半是端口冲突。

第二步:解决 80 端口被占用

Windows 上最常见的是被 IIS、Skype、SQL Server Reporting Services 占用。查占用进程:

netstat -ano | findstr :80
tasklist /fi "PID eq 占用进程的PID"

两种解法:

  • 停掉占用程序;
  • 改 Apache 端口:httpd.conf 里把 Listen 80 改成 Listen 8080,ServerName localhost:80 改成 localhost:8080,之后访问 http://localhost:8080。

MySQL 3306 冲突同理,改 my.ini 的 port=3307,并同步修改 phpMyAdmin/config.inc.php 里对应端口。

第三步:创建数据库

浏览器打开 http://localhost/phpmyadmin → 数据库 → 新建:

数据库名:wordpress
排序规则:utf8mb4_unicode_ci

utf8mb4 而不是 utf8,否则 emoji 和部分生僻字会存成 ???。

第四步:放置 WordPress

解压到 C:\xampp\htdocs\mimangfei,访问 http://localhost/mimangfei 进入安装向导。数据库主机填 localhost,用户名 root,密码默认为空(XAMPP)或 root(WAMP)。

第五步:配置虚拟主机(推荐)

一直用 localhost/xxx 路径访问,会和线上根目录结构不一致,迁移时容易出问题。建议配虚拟主机:

C:\xampp\apache\conf\extra\httpd-vhosts.conf:

<VirtualHost *:80>
    DocumentRoot "C:/xampp/htdocs/mimangfei"
    ServerName mimangfei.test
    <Directory "C:/xampp/htdocs/mimangfei">
        AllowOverride All
        Require all granted
    </Directory>
</VirtualHost>

C:\Windows\System32\drivers\etc\hosts 增加一行:

127.0.0.1   mimangfei.test

第六步:打开伪静态(固定链接)

XAMPP 默认没启用 mod_rewrite。检查 httpd.conf 里这一行是否取消注释:

LoadModule rewrite_module modules/mod_rewrite.so

并且 <Directory> 里要有 AllowOverride All,否则 .htaccess 不生效,固定链接改了就 404。

第七步:调大上传限制

C:\xampp\php\php.ini:

upload_max_filesize = 64M
post_max_size = 64M
memory_limit = 512M
max_execution_time = 300

改完必须在控制面板里 Stop → Start Apache,Restart 有时不重新读 php.ini。

常见踩坑与失败案例

  1. phpMyAdmin 打不开,提示 ” mysqli_real_connect(): (HY000/1045)” —— 密码认证方式变了。编辑 phpMyAdmin/config.inc.php,把 $cfg['Servers'][$i]['auth_type'] 改成 'config' 并填写正确账号密码,或改回 'cookie'。
  2. WordPress 安装时提示”无法写入 wp-config.php” —— 目录权限不足。以管理员身份运行 XAMPP,或手工创建 wp-config.php 粘贴内容。
  3. 固定链接 404 —— mod_rewrite 没开或 AllowOverride 是 None。这是本地环境最高频的问题。
  4. 案例:某新手把 WordPress 解压成了 htdocs\wordpress\wordpress\,访问路径多一层,前台 JS/CSS 全部 404。解压时一定要确认 index.php 就在目标目录根部。
  5. 本地站点访问极慢 —— XAMPP 默认开了很多模块,且 Windows 下 MySQL 查询性能一般。可以关掉不必要的 Apache 模块,并给 hosts 里加 ::1 之外的 IPv4 解析。
  6. 从本地搬到线上后图片不显示 —— 数据库里存的是 http://localhost/mimangfei/...,必须做域名替换。

总结

XAMPP / WAMP 的问题是”可预测的”:端口、权限、rewrite、上传限制,四类占了九成。我的建议是一开始就配虚拟主机 + 打开 mod_rewrite + 调整 php.ini,让本地结构尽量贴近线上,后面迁移会省掉大量麻烦。如果是长期开发,还是更推荐 LocalWP 或 Docker,环境隔离做得更好。

U
UFO_PF作者

专注 WordPress 生态的实战作者,内容以「可复制、可验证」为第一原则。

留下你的想法

邮箱地址不会被公开。带 * 的为必填项。