【发布时间】:2012-05-19 06:11:57
【问题描述】:
有没有办法在 php 中有效地设置 https 请求的超时时间?
有一个带有 curl 模拟 SOAP 请求的 solution,但是它的速度要慢得多。
针对慢速服务对其进行基准测试显示 SOAP 客户端对同一请求平均需要 6.5 秒而不是 5.5 秒。
还有stream socket的替代品
(由 Zend 框架在 ZendHttpClientAdapterSocket 上实现)但是
stream_set_timeout 函数似乎不适用于 https 连接。
请注意问题是读取超时(获得响应的时间)而不是连接超时(进行握手的时间),它适用于 http 和 soap 请求
找到使 curl 更快的解决方案也可以解决问题。
用户故事
我正在使用 zend soap 客户端在外部 https 肥皂网络服务上发出请求。
当网络正常时,该服务通常平均在 5.5 秒内响应。
但是,当出现网络问题时,某些请求最多需要 7 到 8 分钟
消耗服务器资源。
我可以使用 curl 并强制超时,然后在 web 服务出现网络问题时解决我的问题。
但是,当网络正常时,我的平均响应时间会上升到 6.5 秒
业务需求建议应该丢弃超过 30 秒的请求,以确保系统的稳定性。
【问题讨论】:
-
我不明白:你想设置读取超时但让 curl 更快也可以吗?你的实际问题是什么?
-
Frits,我更新了问题以回答您的评论。谢谢。
标签: php soap curl https timeout