You need to enable JavaScript to run this app. Ubuntu16.04 PHP7.4/Apache2运行WordPress报cURL错误60 SSL证书问题求助
优惠活动
大模型
产品
解决方案
定价
更多

Ubuntu16.04 PHP7.4/Apache2运行WordPress报cURL错误60 SSL证书问题求助

问题排查与解决步骤

确认配置生效的实际路径

修改php.ini后重启依然不生效,90%的概率是改错了配置文件:

  • 不要直接修改CLI模式下的php.ini,必须确认Apache实际加载的php.ini位置:新建临时文件info.php写入<?php phpinfo(); ?>,通过浏览器访问该文件,找到Loaded Configuration File字段对应的路径,这个路径下的php.ini才是Apache运行时真正读取的配置文件
  • 在phpinfo输出中查找curl.cainfo、openssl.cafile字段的实际值,确认之前添加的配置是不是真的被Apache加载,而不是仅在CLI命令行环境下生效
  • 验证完成后及时删除该临时php文件,避免服务器信息泄露

确认证书文件的可读性与正确性

  • 核对php.ini中填写的证书路径是真实绝对路径,不要残留教程里的/path/to/cacert.pem这类占位符文本
  • 检查cacert.pem的文件权限:Ubuntu下Apache运行用户为www-data,需要保证www-data对该证书文件有读权限,可执行chmod 644 /实际证书路径/cacert.pem调整权限;证书文件不要存放在普通用户家目录下,默认的家目录权限拦截会导致www-data无法读取文件,建议将证书移动到系统公共证书目录/etc/ssl/certs/下
  • 移动完成后执行c_rehash /etc/ssl/certs/重新生成系统证书哈希,让系统所有依赖OpenSSL的组件都能识别最新的证书列表,不局限于PHP的单独配置

检查站点本身的证书链配置

你使用的是Geotrust SHA256证书,很多时候cURL 60报错并非PHP配置问题,而是站点自身的HTTPS证书链不全:

  • 检查Apache站点配置中SSLCertificateFile对应的证书文件,是否按顺序拼接了域名证书、Geotrust中间证书、根证书,只单独上传域名证书就会导致本地校验时找不到颁发者,触发报错
  • Ubuntu Server 16.04已停止官方维护,系统自带的ca-certificates包版本过旧,本身就无法识别当前主流CA的根证书,就算不依赖PHP单独配置,更新系统级证书库也能从根源解决大部分校验问题

排除WordPress层的配置干扰

如果以上步骤配置完成后依然报错:

  • 在测试页面执行原生cURL请求测试HTTPS连通性,如果原生请求正常,说明是WordPress核心或插件修改了cURL请求参数,覆写了全局的SSL校验配置,可逐个禁用插件定位问题源
  • 不要长期使用关闭SSL校验的方案(比如设置CURLOPT_SSL_VERIFYPEER = false),这类方案会绕过安全校验,存在数据泄露风险,仅可作为临时连通性测试手段

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.30 09:36:05