上一贴没说清楚,重新说一下。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请求完成。
请问有何良方?现在我在写一个类似只看楼主功能的东西。模式差不多,
www.onlylz.com 貌似他的并没有此起整个网站卡

解决方案 »

  1.   

    CURLOPT_TIMEOUT,设置超时时间?
    非阻塞?
    http://blog.csdn.net/linvo/article/details/5956629
      

  2.   

    那个ajax请求完成。可以设置成异步方式。
    采集数据如果没有特殊要求,可以定时采集,入库。然后在获取
      

  3.   


    ajax本身就是异步。卡的不是客户端。是服务器。
      

  4.   

    很简单.. b.php 又是一个curl程序,调用另外一个php curl 程序 d.phpb.php设置 最长执行时间,d.php不限时..具体怎么监控就看你设计数据表了
      

  5.   

    这个时候打开a.php c.php都会卡在那里直到那个ajax请求完成。
    你是用的什么浏览器? 什么服务器系统?对浏览器来说,每个请求都是不相关的,没有同一时间只能发起一个请求的说法。
    对服务器来说,为每个请求分配的资源都是独立的,没有同一时间只能处理一个请求的说法。
    因而如果造成阻塞,只能是程序自作孽,比如PHP中session的文件锁。
    如果你的网站的c.php a.php页面均启用了session,那么就会导致服务器其它进程一直等待文件锁释放,因而浏览器端长时间得不到响应。
    如果如我所说,那么解决方法我想你也知道
      

  6.   

    http://www.onlylz.com/postcache/dl6l/page.html从postcache这个名字来看应该是用了缓存的.