title: why php flush sometimes showing uncomplete data?
body: <p>Here's my current testing script:</p>
  
  <pre><code>ignore_user_abort(true);
  set_time_limit(0);
  ob_start();
  // do initial processing here
  echo "content 1"; // send the response
  header('Connection: close');
  header('Content-Length: '.ob_get_length());
  ob_end_flush();
  ob_flush();
  flush();
  //do expensive processing here
  echo "content 2";
  </code></pre>
  
  <p>If I refresh the browser multiple times, sometimes it shows "content" and sometimes it shows "content 1". Why is that? Isn't it supposed to show "content 1" all the time? Where does the "1" go?</p>