- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
我一直在尝试使用 Elasticsearch PHP API,在本地 elasticsearch 服务器上使用它工作得很好,我可以索引和搜索但是当我尝试在我的网络服务器上做同样的事情时,使用就像在 documentation 中说的那样给我以下错误:
Elasticsearch\Common\Exceptions\NoNodesAvailableException Object
(
[message:protected] => No alive nodes found in your cluster
[primary_port] => 9200
(...)
[local_ip] => 192.168.2.4
[local_port] => 64641
[error] => SSL certificate problem: unable to get local issuer certificate
[errno] => 60
我在整个互联网上搜索并尝试过:1.下载最新的cacert.pem2. 转到 XAMPP php.ini 并添加行 curl.cainfo="C:/xampp/php/cacert.pem"3. 重新启动 xampp 和 apache。
它什么也没做,所以我认为这可能是因为 elasticsearch 的 PHP API,但我不知道会是什么。
请随时提出任何要求。谢谢!
编辑:
我正在本地主机上测试这个,但是当我通过 https 连接在线进行测试时,它给了我同样的错误。
最佳答案
再次打开 php.ini 文件并搜索 [curl] 区域,现在我们要取消注释并更改 curl.cainfo 和 openssl.cafile 属性的值。
[curl]
; A default value for the CURLOPT_CAINFO option. This is required to be an
; absolute path.
curl.cainfo ="C:\xampp\perl\vendor\lib\Mozilla\CA\cacert.pem"
[openssl]
; The location of a Certificate Authority (CA) file on the local filesystem
; to use when verifying the identity of SSL/TLS peers. Most users should
; not specify a value for this directive as PHP will attempt to use the
; OS-managed cert stores in its absence. If specified, this value may still
; be overridden on a per-stream basis via the "cafile" SSL stream context
; option.
openssl.cafile="C:\xampp\perl\vendor\lib\Mozilla\CA\cacert.pem"
您的证书路径可能会有所不同,因此我建议您阅读这篇文章。
关于php - Elasticsearch php api ssl 无法获取本地颁发者证书,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38437444/
我在 Nginx 中使用 Laravel Forge 部署了一个 Laravel 项目。 此应用程序有几个别名。 我正在尝试为每个别名颁发 ssl 证书,但出现以下错误: ERROR: Challen
我是一名优秀的程序员,十分优秀!