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

Solarium连接Pantheon环境Solr的SSL问题排查求助

Pantheon环境下WordPress集成Solr的SSL错误排查方案
  • 验证证书路径与权限
    确认get_cert_path()返回的路径在Pantheon环境中存在且可读取:

    • Pantheon的文件系统仅允许写入wp-content/uploads等特定目录,若证书放在其他只读目录会导致读取失败,建议将证书移至wp-content/uploads/certs目录。
    • 确保证书文件权限设置为644,保证PHP进程具备读取权限。
  • 核对环境变量与Scheme设置

    • 打印环境变量值验证是否正确加载:
      var_dump(getenv('PANTHEON_INDEX_HOST'), getenv('PANTHEON_INDEX_PORT'));
      
    • 确保get_default_scheme()在Pantheon环境返回https,Pantheon的Solr服务强制使用SSL协议,若返回http会直接导致SSL连接错误。
  • 补全SSL配置参数
    Pantheon的Solr服务可能需要额外SSL配置,可先临时调整参数排查问题:

    'ssl' => [
        'local_cert' => get_cert_path(),
        'verify_peer' => false, // 调试阶段临时关闭,排查证书信任问题
        'verify_peer_name' => false,
        'allow_self_signed' => true,
    ]
    

    注:生产环境请勿长期禁用证书验证,应使用Pantheon官方提供的CA证书路径。

  • 检查Solr路径计算逻辑
    compute_path()返回的路径必须与Pantheon分配的Solr Core路径完全匹配,Pantheon的Solr路径格式通常为/solr/site-{站点ID}-{环境名},可通过Pantheon仪表盘的“索引”版块查看具体路径。

  • 捕获详细错误日志
    开启WordPress调试模式并添加异常捕获代码,获取具体错误信息:

    // 开启调试(仅在测试环境使用)
    define('WP_DEBUG', true);
    define('WP_DEBUG_LOG', true);
    
    // 测试Solr连接
    try {
        $client = new Solarium\Client($options);
        $ping = $client->createPing();
        $client->ping($ping);
    } catch (\Exception $e) {
        error_log('Solr SSL 错误详情: ' . $e->getMessage());
        error_log('错误堆栈追踪: ' . $e->getTraceAsString());
    }
    

    查看wp-content/debug.log文件,根据具体错误(如证书无效、连接超时、路径不存在等)定位问题。

  • 确认Pantheon Solr服务状态
    登录Pantheon仪表盘,检查当前环境的Solr服务是否已启用,对应的Core是否处于正常运行状态。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.25 21:52:36