search

Home  >  Q&A  >  body text

shell_exec - PHP的exec执行长耗时脚本有没有办法实时获取输出内容?

例如exec执行A脚本需要运行3分钟,php会在3分钟后才返回A脚本结果和输出内容。 我需要exec执行的3分钟内,每输出一行就能够比较实时的获取输出,有没有什么比较好的办法做呢

PHPzPHPz2894 days ago806

reply all(5)I'll reply

  • 高洛峰

    高洛峰2017-04-10 14:36:24

    博主的问题修改下吧,别人都不明白你的意图 php中exec()函数调用执行另一个脚本,假设你想在当前脚本显示exec()中执行脚本的内容,实时的,通过函数本身好像不可以 ,请看我的思路,不知道是不是你想要的结果

    <?php
    //假设你exec调用的是另外一个脚本called.php
    exec('php called.php > called.out|tail -f');
    
    

    reply
    0
  • 巴扎黑

    巴扎黑2017-04-10 14:36:24

    popen()
    

    字数不够不让答,你查手册吧。

    reply
    0
  • 巴扎黑

    巴扎黑2017-04-10 14:36:24

    我想你需要的是system函数

    reply
    0
  • 阿神

    阿神2017-04-10 14:36:24

    这个两个执行SHELL都是挂起PHP的。加上&

    reply
    0
  • PHP中文网

    PHP中文网2017-04-10 14:36:24

    ob_flush();
    flush();
    

    这两个函数可以帮助你。具体用法请参考PHP手册

    reply
    0
  • Cancelreply