在ThinkPHP6中使用elasticsearch-php操作Elasticsearch8時,如何解決CURL error 77問題?

在ThinkPHP6中使用elasticsearch-php操作Elasticsearch8時,如何解決CURL error 77問題?

Thinkphp6框架下elasticsearch-PHP連接Elasticsearch8失敗排查

本文探討在thinkphp6框架中,使用elasticsearch-php客戶端連接Elasticsearch8時遇到的cURL Error 77問題及其解決方案。

問題描述

使用以下代碼連接Elasticsearch時,出現cURL error 77錯誤:

$client = ClientBuilder::create()     ->setHosts(['https://192.17.169.72:9200'])     ->setBasicAuthentication('elastic', 'password copied during elasticsearch start')     ->setCaBundle('/xx/http.p12')     ->build();

錯誤信息類似于:

cURL error 77 (see [https://curl.haxx.se/libcurl/...](https://link.segmentfault.com/?enc=rv1VLeKAXPLUNrp4daNAwg%3D%3D.fsUIGT9%2FWnWf8meSTQawew%2BreqNQogQnyve9RM4stjYRvWggaPQ2GgfrxnrmqPnyc2D1ma%2BlNbI0nKSskXnRPw%3D%3D)) for [https://elastic:376_7786sX0E-...](https://link.segmentfault.com/?enc=SAA%2B3TBoCHMDll4Qik%2BFwA%3D%3D.mMavfshEDe2qW07hHkbqar18P1i7dgqlUS7%2BNT4JqHrcGADfUgq9pRv0Wpls0cUXi8VNxMh5ozi1H2%2BfF2hXfyy4ErJUj73YjIp9gHFNTy4%3D)

問題分析與解決方法

cURL error 77通常指示ssl證書驗證失敗。 解決方法如下:

立即學習PHP免費學習筆記(深入)”;

  1. 驗證CA證書: 仔細檢查/xx/http.p12路徑是否正確,證書文件是否存在且有效。嘗試替換證書或確保證書文件未損壞。

  2. 路徑檢查: 使用絕對路徑代替相對路徑,避免路徑錯誤。

  3. 證書格式: 確認證書格式是否與elasticsearch-php客戶端兼容。必要時進行格式轉換。

  4. Elasticsearch服務器配置: 檢查Elasticsearch服務器的配置,確保其允許使用指定的證書進行連接。可能需要修改Elasticsearch配置文件以接受你的CA證書。 這可能涉及到配置xpack.security.transport.ssl.verification_mode等參數。

  5. PHP環境: 確保你的PHP環境已正確安裝并啟用了必要的SSL擴展。

通過以上步驟,排查證書路徑、格式、服務器配置和PHP環境,應該能夠解決cURL error 77,實現ThinkPHP6與Elasticsearch8的成功連接。 如果問題仍然存在,請提供更詳細的錯誤信息和服務器配置信息以便進一步分析。

? 版權聲明
THE END
喜歡就支持一下吧
點贊6 分享