WordPress出现cUrl error 60、77错误 常规解决方案无效该如何处理
ACF Pro更新页cURL证书错误排查思路
项目级配置覆盖排查
- 检查问题项目根目录
wp-config.php文件,确认是否存在CURLOPT_CAINFO、WP_HTTP_CAINFO相关自定义配置,此类配置会覆盖全局php.ini的证书路径设置,仅作用于当前项目 - 排查
wp-content目录下的drop-in组件(如advanced-cache.php、object-cache.php),确认是否存在自定义HTTP请求逻辑硬编码了证书路径
ACF 插件侧配置排查
- 进入WordPress后台ACF设置页,检查是否单独配置了更新源、代理或证书相关参数,部分二次修改版ACF Pro会使用独立请求逻辑,不调用全局WordPress HTTP类配置
- 检查当前项目主题
functions.php、自定义功能插件代码,确认是否存在acf/settings/update_url、http_request_args类钩子,修改了ACF更新请求的SSL验证规则、证书路径参数
权限与路径校验
- 执行终端命令
ls -l /Applications/MAMP/Library/OpenSSL/cert.pem确认证书文件权限,保证Web服务运行用户拥有该文件的可读权限 - 检查项目目录下是否存在
.user.ini配置文件,确认open_basedir参数未限制证书目录的访问权限 - 执行命令
openssl x509 -in /Applications/MAMP/Library/OpenSSL/cert.pem -text -noout验证证书文件本身无损坏、编码/格式异常
请求逻辑差异排查
- 开启WordPress调试日志:在
wp-config.php中添加配置
触发ACF更新请求后查看define('WP_DEBUG', true); define('WP_DEBUG_LOG', true);wp-content/debug.log文件,定位错误触发的具体代码位置 - 抓取ACF更新的完整cURL请求参数,与其他正常插件的更新请求参数对比,确认是否ACF请求单独修改了CApath配置或证书读取路径
临时兜底方案
若确认仅为展示类错误、实际更新功能正常,可通过钩子屏蔽ACF更新请求的SSL验证提示,在主题functions.php中添加如下代码:
add_filter('http_request_args', function($args, $url) { if (strpos($url, 'connect.advancedcustomfields.com') !== false) { $args['sslverify'] = false; } return $args; }, 10, 2);
注意:该方案仅用于临时验证,不建议长期开启
内容的提问来源于stack exchange,提问作者Lato
相关产品推荐
相关产品推荐

