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

PHP7环境下WordPress出现DOMDocument证书及加密启用警告求助

嘿,这个问题我见得挺多的——本质是PHP7对SSL证书的验证规则比PHP5严格多了,之前PHP5默认睁一只眼闭一只眼的证书问题,到PHP7就直接弹出警告了。给你几个靠谱的解决思路:

方案1:临时绕过证书验证(快速调试用,别放生产)

如果只是临时要让代码跑起来,或者暂时没法修复证书本身的问题,可以在调用DOMDocument::load()之前,给它加个忽略证书验证的流上下文:

// 在load操作前添加这段代码
$sslContext = stream_context_create([
    'ssl' => [
        'verify_peer' => false,
        'verify_peer_name' => false,
        'allow_self_signed' => true
    ]
]);

$domDoc = new DOMDocument();
// 把上下文参数传给load方法
$domDoc->load('https://www.readmk.com/devotionals/feed...', LIBXML_NOERROR, $sslContext);

注意:这个方案会降低安全性,相当于关掉了SSL的身份验证,生产环境绝对不能长期用,只是临时救急的手段。

方案2:修复证书CN不匹配问题(根本解决之道)

警告里明确说了Peer certificate CN='getalongwithgod.com' did not match expected CN='www.readmk.com',这是核心问题:你要访问的www.readmk.com,服务器返回的SSL证书却是给getalongwithgod.com用的,域名不匹配。解决步骤:

  • 先检查www.readmk.com的服务器配置,确认SSL证书是不是绑错了域名,或者域名解析到了错误的服务器(比如之前的旧服务器)
  • 如果用了CDN或者反向代理,也要检查CDN的SSL证书是否正确覆盖了www.readmk.com这个域名
  • 重新申请包含www.readmk.com作为备用域名(SAN字段)的SSL证书,部署到目标服务器上,确保证书和域名完全匹配

方案3:检查服务器的根CA证书是否完整

有时候PHP7验证失败,是因为服务器上缺少必要的根CA证书,导致无法信任目标域名的证书。可以这么操作:

  • 对于Linux服务器,确保安装了完整的CA证书包:Ubuntu/Debian用apt install ca-certificates,CentOS/RHEL用yum install ca-certificates
  • 如果是自定义的PHP环境,在php.ini里指定CA证书文件的路径,比如:
openssl.cafile = /etc/ssl/certs/ca-certificates.crt

修改后重启PHP服务,让配置生效。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.20 10:05:59