Heim  >  Artikel  >  Backend-Entwicklung  >  php ob_flush 不能每隔一秒输出的解决方法

php ob_flush 不能每隔一秒输出的解决方法

WBOY
WBOYOriginal
2016-07-25 08:58:55801Durchsuche
  1. $i = 3;
  2. ob_start();
  3. while ($i--) {
  4. echo $i, "
    ";
  5. ob_flush();
  6. flush();
  7. sleep(1);
  8. }
  9. ob_end_clean();
  10. ?>
复制代码

问题:这段代码不能每隔一秒输出呢? 原因分析: apache运行原理:当访问一个地址(发送请求)后,在apache服务器中启动PHP,php执行是页面级的,如果有可执行的代码: 它全部执行完后再丢给apache,apache再丢给browser显示结果。

解决方法: 如果是cli 显示结果方式又不一样,那里不一样呢? linux cmd: php5 test.php 由php直接执行,不经过apache,web service,即可实现:

  1. $i = 3;
  2. while ($i--) {
  3. echo $i, "\n";
  4. sleep(1);
  5. }
  6. ob_end_clean();
  7. ?>
复制代码


Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn