phpEnv运行WordPress报500或白屏的主因是Nginx未配置重写规则(需将try_files改为$uri $uri/ /index.php?$args)、MySQL主机必须填127.0.0.1而非localhost、wp-config.php需手动创建且编码为UTF-8无BOM。

phpEnv 能跑 WordPress,但默认配置下直接放进去会 500 错误或白屏——根本原因是它没开 mod_rewrite(Nginx 下叫重写规则),且默认不启用 wp-config.php 自动创建逻辑。
phpEnv 启动后 Nginx 报 500 或空白页
这是最常卡住的一步。phpEnv 默认用的是 Nginx + PHP-FPM 模式,但它的 nginx.conf 没配 WordPress 所需的 location / 重写块,导致 index.php 无法接管所有请求。
- 打开
phpEnv\nginx\conf\nginx.conf,找到server { ... }块内已有的location / - 把里面的
try_files $uri $uri/ =404;替换成:try_files $uri $uri/ /index.php?$args;
- 保存后,在 phpEnv 界面点击「重启 Nginx」(不是只点「启动」)
- 确认 PHP 版本 ≥ 7.4(WordPress 6.5+ 强制要求;phpEnv 默认带的 PHP 7.3 会安装失败)
数据库连接被拒绝:localhost vs 127.0.0.1
phpEnv 的 MySQL 默认绑定在 127.0.0.1:3306,但 WordPress 安装向导里填 localhost 时,PHP 会尝试走 Unix socket,而 phpEnv 并未提供该 socket 文件路径,结果连不上。
- 安装时数据库主机必须填
127.0.0.1,不能填localhost - 用户名和密码默认都是
root,无需改 - 数据库名建议用纯英文、无下划线(如
wpdev),避免后续插件或主题解析出错 - 如果提示「建立数据库连接时出错」,先在浏览器访问
http://127.0.0.1/phpmyadmin看能否登录,验证 MySQL 确实运行中
wp-config.php 创建失败或权限不足
phpEnv 运行在 Windows 上,Nginx 进程默认以当前用户权限读写文件,但 WordPress 安装脚本尝试自动创建 wp-config.php 时,可能因目录权限或 UAC 限制失败。
立即学习“PHP免费学习笔记(深入)”;
- 别等安装向导自动生成 —— 直接手动创建
wp-config.php,放在 WordPress 根目录下 - 内容从
wp-config-sample.php复制,重点改这四行:define('DB_NAME', 'wpdev'); define('DB_USER', 'root'); define('DB_PASSWORD', ''); define('DB_HOST', '127.0.0.1'); - 确保该文件编码是 UTF-8 无 BOM(用 VS Code 或 Notepad++ 保存时选对格式)
- 如果仍报「缺少 wp-config.php」,检查文件扩展名是不是变成了
wp-config.php.txt(Windows 隐藏已知扩展名导致)
安装完后台打不开或跳转到 localhost
WordPress 会把站点地址(siteurl 和 home)硬写进数据库,而 phpEnv 默认用 localhost 访问,一旦你在安装时填了 http://localhost,后面想换域名(比如 http://wp.test)就会 302 循环跳转。
- 安装前就决定好访问方式:要么全程用
http://localhost,要么提前配好 hosts + 域名(如wp.test)并统一填写 - 若已装完又想换,进
phpmyadmin→ 选对应数据库 → 打开wp_options表 → 修改siteurl和home这两行的option_value - 临时调试可用定义法:在
wp-config.php里加两行(放在/* That's all, stop editing! */之前):define('WP_HOME','http://wp.test'); define('WP_SITEURL','http://wp.test');
真正麻烦的不是步骤多,而是 phpEnv 的 Nginx 配置和 Windows 权限模型跟 WordPress 的假设不完全对齐——尤其重写规则、socket 连接、文件编码这三个点,漏一个就卡半天。



















