• 欢迎访问搞代码网站,推荐使用最新版火狐浏览器和Chrome浏览器访问本网站!
  • 如果您觉得本站非常有看点,那么赶紧使用Ctrl+D 收藏搞代码吧

服务器下的程序会用curl进行一次网络请求,请教怎么解决整个网站卡的有关问题

php 搞代码 4年前 (2022-01-24) 17次浏览 已收录 0个评论

服务器上的程序会用curl进行一次网络请求,请问如何解决整个网站卡的问题?
上一贴没说清楚,重新说一下。

a.php b.php c.php 三个页面。

打开a.php页页后。
a.php会用ajax请求b.php。
b.php里面用curl进行数据采集。比如采集zhidao.baidu.com/xx.html
如果这个时候baidu.com反映慢。curl不能很快完成这次请求。那么。整个网站就会卡住。这个时候打开a.php c.php都会卡在那里直到那个ajax请求完成。
请问有何良方?

现在我在写一个类似只看楼主功能的东西。模式差不多,
http://www.onlylz.com 貌似他的并没有此起整个网站卡

——解决方案——————–
CURLOPT_TIMEOUT,设置超时时间?
非阻塞?
http://blog.gaodaima.com/linvo/article/details/5956629
——解决方案——————–
那个ajax请求完成。可以设置成异步方式。
采集数据如果没有特殊要求,可以定时采集,入库。然后在获取
——解决方案——————–
这个时候打开a.php c.php都会卡在那里直到那个ajax请求完成。
你是用的什么浏览器? 什么服务器系统?

对浏览器来说,每个请求都是不相关的,没有同一时间只能发起一个请求的说法。
对服务器来说,为·本2文来源gaodai$ma#com搞$代*码网2搞gaodaima代码每个请求分配的资源都是独立的,没有同一时间只能处理一个请求的说法。
因而如果造成阻塞,只能是程序自作孽,比如PHP中session的文件锁。
如果你的网站的c.php a.php页面均启用了session,那么就会导致服务器其它进程一直等待文件锁释放,因而浏览器端长时间得不到响应。
如果如我所说,那么解决方法我想你也知道


搞代码网(gaodaima.com)提供的所有资源部分来自互联网,如果有侵犯您的版权或其他权益,请说明详细缘由并提供版权或权益证明然后发送到邮箱[email protected],我们会在看到邮件的第一时间内为您处理,或直接联系QQ:872152909。本网站采用BY-NC-SA协议进行授权
转载请注明原文链接:服务器下的程序会用curl进行一次网络请求,请教怎么解决整个网站卡的有关问题
喜欢 (0)
[搞代码]
分享 (0)
发表我的评论
取消评论

表情 贴图 加粗 删除线 居中 斜体 签到

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址