Dear ALL,请问php的输出如何和lighttpd同步
比如
php的脚本这样(这是个比方):
<?php
set_time_limit(0);
 while(1)
    echo "*********************一个字符串";
?>
web服务器是lighttpd:
系统是arm_linux(内存不大,就128M):
这样的话,在浏览器里访问这个php页面,不用多时,lighttpd的内存消耗暴涨,而且不会回落,最终lighttpd会被系统killed.
原因我知道了,就是因为php的执行速度快于lighttpd输出到用户浏览器的速度,我想知道有没有办法让php echo之后等待lighttpd发给用户浏览器之后再进行echo.

解决方案 »

  1.   

    你这个本身就是输出到缓冲区的可以flush()试试,让它及时输出,而不要留在缓冲区
      

  2.   

    lighttpd本身主要就是用来做缓存的,最好的方法就是缓存或者set_time_limit(0);
     while(1)
      echo "*********************一个字符串";
      //在此循环内多做一些耗时的操作,降低响应时间
      

  3.   

    其实我是用的fread做的下载,动态打包下载,不会在服务器上生成打包文件,下载文件夹到浏览器就是一个打包的文件,使用的chunked编码,用不了x-send-file,所以我读出一段文件就输出,唉,不知道如何是好