4

我使用Nusoap编写了一个使用我们银行 WSDL 服务的脚本。请求使用证书签名。该脚本在 Ubuntu、Apache 2.2、PHP 5.4 上运行良好。

当试图在 Windows 7(64 位、Apache 2.2、PHP 5.4)上实现相同的目标时,我得到了 Curl 抛出的这个错误:

**SSL read: error:140940E5:SSL routines:SSL3_READ_BYTES:ssl handshake failure, errno 0**

我禁用了防火墙和防病毒软件。我可以提供 Curl 选项详细信息,或任何其他代码或信息。谢谢!

解决方案:

curl_setopt($this->ch, CURLOPT_SSLVERSION, 3);

4

2 回答 2

3

要使用 SSL 连接,您必须php_openssl.dllphp.ini中启用

当您使用 curl 时,一个常见问题是 openssl 模块默认使用错误的 SSL 版本。大多数情况下,您应该将 SSL 版本设置为 3。

curl_setopt($curl, CURLOPT_SSLVERSION,3); 

几天前我遇到了同样的问题。

于 2013-04-24T13:43:58.020 回答
0

如果您在基于 linux 的服务器上使用 nfephp-org lib,您可以使用该代码来更改 ssl 协议:

$nfe = new ToolsNFe(MY_CONFIG_PATH);
$nfe->setSSLProtocol('SSLv3');

当 MY_CONFIG_PATH 是你的配置文件的路径。

Se você estátentando usar o nfephp-org e está com esse erro em servidores linux, mude o protocolo ssl, como no código acima。

于 2016-01-29T12:52:57.027 回答