Heim >Backend-Entwicklung >PHP-Tutorial >php curl设置1000毫秒超时时间(内网请求),有时候会出现超时的异常,请问怎么解决?

php curl设置1000毫秒超时时间(内网请求),有时候会出现超时的异常,请问怎么解决?

WBOY
WBOYOriginal
2016-06-06 20:09:211353Durchsuche

php curl设置1000毫秒超时时间(内网请求),有时候会出现超时的异常,请问怎么解决?

回复内容:

php curl设置1000毫秒超时时间(内网请求),有时候会出现超时的异常,请问怎么解决?

在PHP端除了设置更大的超时时间没有别的办法,这种问题主要是考虑优化受访页面。既然是内网请求,网络速度肯定不太需要考虑了,那么为什么还超时?
1-受访页面本身有性能问题:通常是数据搜索引发的,尝试优化(比如简单查询不超时,复杂查询就超时);
2-受访页面逻辑复杂,涉及数据量庞大:通过cron-job完成复杂逻辑并缓存结果,而不是在收到请求的时候才开始处理(比如获取excel格式的最近3个月销售报表);
3-请求的资源太大:比如获取的内容很大,10秒内无法完成传输,用传递url代替传递资源内容。
我想到的就这些,希望有用。
如果单纯因为网络波动引起的可以反复尝试,例如失败了就再次发起,直到失败了10次重重的记下日志,然后给调用者返回错误信息吧。

一秒超时?那我觉得超时很正常

既然是内网,速度会很快,建议不设置表示时间,当然如果担心进程卡死,可以设成默认值就行了

超时或出错记录日志分析原因,具体解决

可以做超时重试机制,超时的具体code你看下,好像是7和28

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn