Solarium连接Pantheon环境Solr的SSL问题排查求助
Pantheon环境下WordPress集成Solr的SSL错误排查方案
验证证书路径与权限
确认get_cert_path()返回的路径在Pantheon环境中存在且可读取:- Pantheon的文件系统仅允许写入
wp-content/uploads等特定目录,若证书放在其他只读目录会导致读取失败,建议将证书移至wp-content/uploads/certs目录。 - 确保证书文件权限设置为
644,保证PHP进程具备读取权限。
- Pantheon的文件系统仅允许写入
核对环境变量与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
相关产品推荐
相关产品推荐

