luyaran 2017-06-19 06:42 采纳率: 5.9%
浏览 2645
已结题

提高php发送请求的响应速度

我在一个框架方法中用php的curl模拟发送了大量的请求,数量大约在300左右,系统经常出现运行超时的错误提示,有没有一种方法可以加快请求的执行速度在不修改php最大执行时间的前提下。。。

  • 写回答

2条回答 默认 最新

  • 峰峰CC 2017-06-19 06:56
    关注

    <?php
    function step1()
    {
    sleep(1);
    }

    function step2()
    {
    sleep(5);
    file_put_contents('filename.txt', '耗时任务已完成');
    }

    /**

    • 结束输出缓冲数据
    • @return [type] [description] */ function finishRequest(){ ignore_user_abort(true); // 客户端关闭程序继续执行 if(function_exists('fastcgi_finish_request')) { fastcgi_finish_request(); // 响应完成, 关闭连接。只在FastCGI有效 } else { header('X-Accel-Buffering: no'); // nginx 不缓存输出 header('Content-Length: '. strlen(ob_get_contents())); header("Connection: close"); header("HTTP/1.1 200 OK"); ob_end_flush(); flush(); } }

    step1();
    echo "您的请求已完成";
    finishRequest();
    step2();

    评论
  • theProcess 2017-06-21 02:56
    关注

    可以尝试使用curl_multi_init 并发执行多curl 节约执行时间

    评论

报告相同问题?

悬赏问题

  • ¥15 telegram api 使用forward_messages方法转发消息时,目标群组里面会出现此消息来源,如何隐藏?
  • ¥15 在ubuntu中无法连接到远程服务器传输文件
  • ¥15 关于#tensorflow#的问题:有没有什么方法可以让机器自己学会像素风格的图片
  • ¥15 Oracle触发器字段变化时插入指定值
  • ¥15 docker无法进入容器内部
  • ¥15 qt https 依赖openssl 静态库
  • ¥15 python flask 报错
  • ¥15 改个密码引发的项目启动问题
  • ¥100 CentOS7单线多拨
  • ¥15 debian安装过程中老是出现无法将g21dr复制到g21dr怎么解决呀?