2

我使用 cURL 编写了几个 PHP 脚本,通过 SSL 连接将文件从 ServerA 传输到 ServerB。两者都是运行 IIS 的 Windows 服务器。该代码适用于较小的文件(大约 7MB 以下)。但是,它对于任何比这更大的东西都失败了。

这似乎是 SSL 的问题。我在ServerB上临时开通了一个http端口,能够成功发送一个650MB的文件。但是当通过 SSL 发送时,它会爆炸。使用 Wireshark,我可以看到它很快发送了大约 7-8MB,然后没有更多的数据包出去。脚本会一直挂起,直到超时。

我得到的 cURL 错误是: SSL read: error:00000000:lib(0):func(0):reason(0), errno 10054

cURL SSL 连接是否存在某种发送限制?

4

2 回答 2

2

经过一整天半的尝试,我找到了解决方案。很简单。我所要做的就是添加:

curl_setopt($curl, CURLOPT_SSLVERSION,3); 

希望这个线程可以将其他人从我一直试图解决这个问题的痛苦中解救出来。:)

于 2013-04-19T20:11:39.217 回答
0

确保将post_max_sizephp.ini 中的默认值更新为大于默认值 8MB 的值:

post_max_size = 8M

确保之后重新启动 IIS。如果这确实解决了它,我不确定为什么它适用于 HTTP 而不是 HTTPS,但值得一试。

于 2013-04-19T18:06:19.700 回答