WordPress站点缺失HTML API类文件且反复消失的问题求助
WordPress核心文件反复消失的成因与解决办法
可能的成因
- 恶意感染:服务器或WordPress被木马、病毒入侵,恶意程序会自动删除核心文件。修复后又复发,大概率是恶意代码没清理干净,后台残留了定时执行删除操作的恶意脚本。
- 自动更新异常:WordPress原生自动更新机制故障(比如更新中断、版本不兼容),导致更新脚本误删核心文件;或者第三方更新插件的更新逻辑出错,重复执行删除操作。
- 服务器安全/清理规则误判:服务器上的安全软件、定时清理脚本,误将这些核心文件判定为恶意或冗余文件,自动执行删除。
- 文件权限错误:
/wp-includes/html-api/目录或文件权限设置不合理——权限过高(如777)会让恶意程序随意删改;权限过低则可能导致WordPress更新时写入失败,触发异常删除逻辑。 - 主题/插件冲突:部分第三方主题或插件代码不规范,会误操作核心文件目录,定期删除或覆盖核心文件。
解决步骤
1. 彻底排查并清除恶意感染
- 手动检查
/wp-content/plugins/、/wp-content/themes/目录下的未知文件,重点看最近新增的.php文件,排查是否有eval()、base64_decode()这类混淆代码。 - 用WordPress自带的「站点健康」工具(工具→站点健康)扫描核心文件完整性,确认是否有文件被篡改或缺失。
- 查看服务器系统日志(如
/var/log/auth.log、/var/log/apache2/error.log),寻找异常登录、文件操作记录。 - 发现恶意文件立即删除,同时重置所有管理员账号密码,确保密码复杂度足够。
2. 修复自动更新机制
- 禁用第三方更新插件,改用WordPress原生自动更新功能。
- 在
wp-config.php中添加以下代码,强制开启核心文件自动修复:define( 'WP_AUTO_UPDATE_CORE', true ); define( 'WP_DEBUG', true ); - 手动重装WordPress核心:进入后台→仪表盘→更新→点击「重新安装WordPress」,让完整的核心文件覆盖现有目录。
3. 检查服务器安全规则与定时任务
- 联系服务器提供商,确认是否有安全软件误判核心文件,将
/wp-includes/html-api/目录加入白名单。 - 检查服务器定时任务(如
crontab),删除可疑的清理脚本或定时任务。
4. 修正文件权限
- 将
/wp-includes/目录权限设为755,文件权限设为644,执行以下命令:chmod -R 755 /www/html/wp-includes/ find /www/html/wp-includes/ -type f -exec chmod 644 {} \; - 确保运行WordPress的服务器用户(如
www-data、apache)是目录所有者,避免权限冲突。
5. 排查主题与插件冲突
- 暂时禁用所有第三方插件,切换到默认主题(如Twenty Twenty-Four),观察文件是否还会消失。
- 逐个启用插件和主题,每次启用后等待数小时,定位到导致文件删除的组件,然后删除或替换它。
内容的提问来源于stack exchange,提问作者emka26
相关产品推荐
相关产品推荐

