繁体   English   中英

如何在官方Elasticsearch PHP客户端中设置代理?

[英]How to set a proxy in official Elasticsearch PHP client?

我知道你可以使用Elastica客户端这样做:

$client = new \Elastica\Client(array(
    'host' => 'my host',
    'port' => '9200',
    'proxy' => 'my proxy'
));

但如果可能,我想使用官方客户。 我根据这里的文档建立了连接。

$hosts = [
    [
    'host' => 'my host',
    'port' => '9200',
    'scheme' => 'http',
    'user' => 'my user',
    'pass' => 'my pass'
    ]
];
$client = Elasticsearch\ClientBuilder::create()
   ->setHosts($hosts)
   ->build();

但是,文档中没有关于如何设置代理的内容。 可能吗?

顺便说一句,我已经看到了这个问题 ,但是它已经过时了,并且不适用于当前版本。

可能有更清晰的语法,但设置cURL参数应该有效:

$client = Elasticsearch\ClientBuilder::create()
   ->setHosts($hosts)
    ->setConnectionParams([
        'client' => [
            'curl' => [
                CURLOPT_PROXY => $proxy
            ]
        ]
    ])
   ->build();

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM