Php 使用代理后的Predis连接到Redis

Php 使用代理后的Predis连接到Redis,php,proxy,redis,Php,Proxy,Redis,在文档中,我没有找到要在代理后面连接的参数 例如,对于Curl,我这样做 CURLOPT_PROXYTYPE => CURLPROXY_HTTP CURLOPT_PROXY => 'IP-Proxy:Port' 还是这个 $cxContext = stream_context_create(array('http' => array('proxy' => 'tcp://IP-Proxy:Port', 'request_fulluri' => tru

在文档中,我没有找到要在代理后面连接的参数

例如,对于Curl,我这样做

    CURLOPT_PROXYTYPE => CURLPROXY_HTTP
    CURLOPT_PROXY => 'IP-Proxy:Port'
还是这个

$cxContext = stream_context_create(array('http' => array('proxy' => 'tcp://IP-Proxy:Port', 'request_fulluri' => true)));
$data = file_get_contents('http://stackoverflow.com/', False, $cxContext);

有没有办法使用Predis behind proxy连接到Redis?

您需要正确配置您的代理-端口转发、到Redis服务器的超时,然后将Predis连接到代理url和端口。

您指的是什么代理?例如,如果您使用HAproxy,您只需连接到该ip,它就会将连接转发到redis(即使在不同的端口或ip上)。在predis中,您使用代理ip连接代理以用于即将到来的请求。我用示例更新了我的帖子。为即将到来的请求配置了代理。我更新了我的文章,用
Curl
&
file\u get\u contents
@LeMoussel给出了一些例子-你不需要像Nginx或HAproxy这样的反向代理来屏蔽Redis服务器,但你需要将Redis本身连接到web代理吗?是吗?是的,是的。我需要通过web代理连接到Redis数据库。@LeMoussel您可以在系统级执行此操作,例如,使用docker安装Redis,并连接docker以使用您的web代理,这样Redis也将使用它。另一种解决方案是仅对Redis进程执行此操作:例如,如果在启动Redis之前只导出http_代理,则可能会使用Redis。