• 博主:孽 (云趣科技)
  • QQ:点击这里给我发消息
  • 微信:dylanv
  • 业务:切图,建站,二开,运维
  • yeka-ad
  • yeka-ad
文章目录

PHP随手记:PHP cURL在服务器端执行响应过慢的解决方案

PHP随手记:PHP cURL在服务器端执行响应过慢的解决方案
稿件作者 CMS博客 2021-05-19 19:03 野码人生 3325

情景复现

项目本地开发过程中写了一个curl方法向远程服务器推送一条信息。本地执行速度正常。但是服务器上执行缺异常缓慢。

度娘了好久,都不得其解释,终于在一篇文章Curl的毫秒超时的一个"Bug" - 风雪之隅 (laruence.com)的评论下找到思路:CURLOPT_IPRESOLVE;最终度娘出了解决方案。

参考文档:curl_exec和wget执行太慢,IPv6惹的祸 CURLOPT_IPRESOLVE_zhangfeng1133的专栏-CSDN博客

问题原因

一句话总结:服务器都开启了 IPv6 却没有路由,无法真正工作。在没有 IPv6 的情况下,会等待 IPv6 解析失败 timeout 之后才按以前的正常流程去找 IPv4

解决方案

对于 PHP curl 来讲,只需要加上下面一句即可解决延迟问题:

curl_setopt($ch, CURLOPT_IPRESOLVE, CURL_IPRESOLVE_V4 );

PBootCms的解决方案

文件位置:/core/function/handle.php,搜索curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);

在下方插入一行

curl_setopt($ch, CURLOPT_IPRESOLVE, CURL_IPRESOLVE_V4 );

到此,问题解决。

联系客服

请使用QQ扫码
请使用微信扫码
回复时间:工作日下午4点30以后;周六周日不限。
  • 分享:

文章评论(审核通过可见)

说点什么
共有0条评论

monicaLogo.83e0ae18.png


通过Monica免费试用满血可联网的DeepSeek R1!

一站式AI助手,个性化,编写,免费


Monica 利用剪短的人工智能模型,包括DeepSeek R1、OpenAI o1、GPT-4o、Claude 3.7和Gemini1.5,来提升您的聊天、搜索、写作和编程体验。