6

所以我正在为我自己的个人一次性使用编写一个一次性脚本,我希望能够看到这个过程是如何进行的。基本上我正在处理几千个媒体发布并将它们发送到我们的新 CMS。

所以我不会敲击 CMS,我sleep会在每 5 个请求后制作几秒钟的脚本。

我希望 - 当脚本正在执行时 - 能够看到我echo的 s 告诉我脚本将要休眠或与 web 服务的最后一次事务成功。

这在PHP中可能吗?

谢谢你的帮助!

伊恩

4

4 回答 4

11

用于ob_flush发送缓冲区中的任何数据。所以你可以执行一些命令,刷新输出,然后在处理更多命令之前休眠一会儿。

我确实注意到,在特别长的脚本上,PHP 似乎开始发送缓冲区中的内容,即使脚本尚未完成执行

默认情况下,PHP 永远不会回显任何内容,直到整个脚本执行完毕。那只是您的浏览器试图一次输出太多数据,或者您有一些东西导致它在某处刷新。

于 2010-03-25T04:48:38.723 回答
3

这是一个包装它的 PHP 包:

https://packagist.org/packages/coderofsalvation/browser-stream

   BrowserStream::enable();
    BrowserStream::put("loading");

    for( $i = 0; $i < 10; $i++ ){
        BrowserStream::put(".");
        sleep(1);
    }
于 2015-08-14T17:34:11.397 回答
2

您可以尝试使用flush并查看其他输出控制功能,但它们可能没有任何用处。无论如何,您的 Web 服务器软件可能会缓冲响应。

于 2010-03-25T04:50:12.120 回答
0

您可能想探索刷新命令http://php.net/manual/en/function.flush.php

于 2010-03-25T04:46:26.660 回答