【问题标题】:Unable to Connect to ssl无法连接到 ssl
【发布时间】:2012-02-09 09:43:09
【问题描述】:

我已经用 wamp(Apache 服务器)配置了 openssl。但是当我使用 gdata api 时,我遇到了以下错误。

( ! ) Fatal error: Uncaught exception 'Zend_Http_Client_Adapter_Exception' with message ' in C:\Zend_1_11_11\library\Zend\Http\Client\Adapter\Socket.php on line 234
( ! ) Zend_Http_Client_Adapter_Exception: Unable to Connect to ssl://accounts.google.com:443. Error #10060: A connection attempt failed because the connected party did not properly respond after a period of time, or established connection failed because connected host has failed to respond. in C:\Zend_1_11_11\library\Zend\Http\Client\Adapter\Socket.php on line 234

有人帮我解决这个问题...

【问题讨论】:

  • 错误只是意味着您无法连接到目标主机。您至少可以 ping accounts.google.com 吗?您是否可以使用 opessl 命令连接到端口 443,例如“openssl s_client -connect accounts.google.com:443”?您可以尝试增加超时属性值
  • 感谢您的输入,但我在代理服务器上工作,所以我无法 ping 任何东西 :(。对于窗口,我需要安装 openssl 客户端。请让我知道我可以做些什么来解决问题。 .
  • 你自己回答。你在代理后面。那是你无法连接的原因。

标签: php ssl openssl gdata


【解决方案1】:

仅适用于 Windows 用户的解决方案:

检查 php.ini 中是否启用了 SSL 模块:

extension=php_openssl.dll

【讨论】:

  • 这是我的第一步。顺便说一句,我解决了这个问题。谢谢@Mikhail
  • @Neelesh 那么解决方案是什么?
【解决方案2】:

Mikhail 的回答对我不起作用,因为我在 Alpine Linux 中运行它并且 .dll 只是 Windows 扩展。不要在 Windows 之外使用它,它只会添加警告。

解决了我的问题:

我有一个无法建立连接的自签名证书。

要检查是否有问题,您可以提出请求:

wget方式:

// not working:
wget https://accounts.google.com:443
// working:
wget https://accounts.google.com:443 --no-check-certificate

或卷曲方式:

// not working:
curl https://accounts.google.com:443
// working:
curl https://accounts.google.com:443 -k

为了在我的开发 docker 容器中临时解决它,我添加了 curl 适配器的使用,并且不对代码检查证书:

    $config = array(
        'adapter'     => 'Zend_Http_Client_Adapter_Curl',
        'curloptions' => [CURLOPT_SSL_VERIFYPEER => false, CURLOPT_SSL_VERIFYHOST => false]
    );
    $client = new Zend_Http_Client('https://example.com', $config);

【讨论】:

  • 致命错误:调用未定义函数 url_combine()
  • @BotXtremSolutions 是的,这是我的内部功能。随机更改。
【解决方案3】:

你在代理后面,所以不能直接连接。尝试使用 Zend/Http/Client/Adapter/Proxy.php 代替 Zend\Http\Client\Adapter\Socket.php

【讨论】:

  • 谢谢你的帮助..你能帮我从哪里改变它。我是 Zend 的新手 :(
  • 我在 client.php Zend_Http_Client_Adapter_Proxy 中更改了适配器,但它也无法正常工作...任何帮助
【解决方案4】:

如果您使用 Ubuntu,请尝试添加您的 php.ini

openssl.capath=/etc/ssl/certs

For more info read this issue

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2021-04-01
    • 2016-11-07
    • 2016-01-26
    • 2017-07-31
    • 2019-08-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多