You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

LAMP多虚拟主机环境下WordPress的Memcached无法正常工作求助

问题诊断与解决步骤

核心问题定位

从日志来看,Memcached认证失败是导致连接失效的直接原因,同时伴随WP缓存配置缺失、W3 Total Cache内部错误以及Redis配置残留的问题。


1. 修复Memcached认证失败问题

Memcached日志明确输出Auth failure,说明W3 Total Cache在连接时尝试使用认证,但Memcached未配置或未正确匹配认证信息:

  • 检查/etc/memcached.conf:
    • 如果存在-S参数(启用SASL认证),需确保W3 Total Cache的Memcached设置中填写了正确的用户名和密码,同时验证Memcached的SASL用户配置(通常在/etc/sasl2/memcached.conf中设置)。
    • 如果没有-S参数(未启用认证),则打开W3 Total Cache的Memcached配置页面,清空所有认证相关字段,保存后重启服务:
      sudo systemctl restart memcached
      sudo systemctl restart apache2
      

2. 补全WP_CACHE常量配置

Apache日志提示WP_CACHE constant is not present in wp-config.php,这会导致W3 Total Cache无法正常初始化:

  • 编辑WordPress根目录下的wp-config.php,在/* That's all, stop editing! Happy publishing. */之前添加:
    define('WP_CACHE', true);
    
  • 保存文件后刷新WordPress后台的W3 Total Cache设置页面。

3. 修复W3 Total Cache内部警告

针对Trying to access array offset on value of type null的警告,属于插件缓存残留或配置异常:

  • 登录WordPress后台,进入Performance > General Settings,先禁用所有缓存类型并保存。
  • 进入Performance > Dashboard,点击"Empty All Caches"清空所有缓存。
  • 重新启用Memcached相关的缓存选项(数据库缓存、对象缓存),保存后重启Apache。

4. 清除Redis配置残留

虽已删除Redis,但W3 Total Cache可能残留旧配置:

  • 进入Performance > General Settings,检查所有缓存模块,确保未选择Redis作为缓存后端。
  • 若仍有Redis选项显示,手动删除W3TC配置文件:
    sudo rm /var/www/html/example.com/public_html/wp-content/w3tc-config/master.php
    
  • 重新进入W3TC设置页面,重新配置Memcached选项。

5. 验证修复效果

  • 执行telnet 127.0.0.1 11211测试连接:能进入交互界面则说明连接正常(输入quit退出)。
  • 查看Memcached日志,确认不再出现Auth failure错误。
  • 刷新WordPress后台,检查W3 Total Cache的提示和WordPress的"persistent object cache"提示是否消失。

内容的提问来源于stack exchange,提问作者newcat1000

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.05 06:05:31