报错翻译
无法与站点通信来检查致命错误,因此 PHP 修改已被回滚。您需要采用其他方式(如 SFTP)上传您修改的 PHP 文件。
报错核心原因
WordPress 自带代码安全自检机制:在线编辑保存 PHP 代码后,WP 会立刻发起一次 ** 本地回环请求(Loopback)** 访问自己网站,检测修改后的代码是否直接导致网站崩溃白屏。
- 服务器禁止本机 IP 访问自身网站(防火墙、安全组、nginx/apache 防盗链、hosts 解析异常)
- 刚改的 PHP 语法本身有错,自检访问直接 500 报错,WP 判定代码危险自动撤销修改
- 主机禁用
fsockopen/cURL/file_get_contents回环请求函数 - 站点域名 SSL 证书异常、重定向死循环,本机请求打不开网页
- 宝塔面板防火墙、云服务器安全组拦截 127.0.0.1 内网访问
方案一:临时绕过在线编辑器限制(最简单)
方法 1 直接禁用代码编辑自检(推荐)
打开网站根目录 wp-config.php,添加一行:
php
运行
define( 'DISALLOW_FILE_EDIT', false );
define( 'WP_SITEURL', 'https://你的域名' );
// 关闭回环检测校验
define( 'CORE_UPGRADE_SKIP_NEW_BUNDLED', true );
若写
DISALLOW_FILE_EDIT = true会彻底关闭后台主题文件编辑入口,适合生产环境防篡改。
方法 2 放弃后台在线编辑
使用 FTP/SFTP/ 宝塔文件管理器 直接修改主题目录文件:
wp-content/themes/你的主题名/
改完直接覆盖上传,不会触发 WP 回滚检测,这是官方提示的标准方案。
方案二:修复服务器回环请求失败(根治问题)
1. 检查服务器 hosts 解析
Linux 服务器编辑 /etc/hosts
bash
运行
vim /etc/hosts
添加本机域名指向内网 IP(替换成你服务器内网 IP + 域名)
plaintext
127.0.0.1 你的网站域名
2. 放行防火墙 / 安全组
- 宝塔面板:防火墙 → 放行 80、443 端口,关闭拦截内网访问规则
- 阿里云 / 腾讯云:服务器安全组入方向放行 80/443,出站不限制本机访问
- 关闭 nginx/apache 防盗链、IP 黑白名单拦截 127.0.0.1
3. 开启 PHP 必要函数
宝塔→PHP 设置→禁用函数,删除这几项:
fsockopen、curl_exec、file_get_contents
保存重启 PHP 服务。
4. 排查网站重定向与 SSL
- 后台 设置 – 常规,WordPress 地址、站点地址必须完全一致,不能一个 http 一个 https
- 不要存在 Nginx 强制跳转死循环,配置正确 SSL 证书
- 伪静态规则不要拦截本机 127.0.0.1 访问
方案三:代码改错后再保存
大概率是你修改的 PHP 存在语法错误(少分号、括号不匹配、函数写错),自检访问直接 500,WP 强制回退:
- 先把刚才修改的内容撤销
- 分段少量修改代码,不要一次性大篇幅改写
- 改一小段保存一次,就能定位到哪一行语法出错
生产环境最佳建议
网站上线后直接关闭后台文件编辑,杜绝木马篡改漏洞:
在 wp-config.php 写入:
php
运行
define('DISALLOW_FILE_EDIT', true);
define('DISALLOW_FILE_MODS', true);
后续所有主题、插件代码修改全部用 FTP / 面板文件管理操作。
正文完
可以使用微信扫码关注公众号(ID:xzluomor)