Maison > développement back-end > tutoriel php > php curl设置1000毫秒超时时间(内网请求),有时候会出现超时的异常,请问怎么解决?

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

WBOY
Libérer: 2016-06-06 20:09:21
original
1358 Les gens l'ont consulté

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

回复内容:

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

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

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

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

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

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

Étiquettes associées:
php
source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal