Doc #67341 [Csd]: flush() documentation misleading
| From: | chealer at gmail dot com | Date: | Tue, 30 Dec 2014 05:05:30 +0000 |
| Subject: | Doc #67341 [Csd]: flush() documentation misleading | ||
| References: | 1 | Groups: | php.doc.bugs |
| Request: | Send a blank email to doc-bugs+get-11786@lists.php.net to get a copy of this message | ||
Edit report at https://bugs.php.net/bug.php?id=67341&edit=1
ID: 67341
User updated by: chealer at gmail dot com
Reported by: chealer at gmail dot com
Summary: flush() documentation misleading
Status: Closed
Type: Documentation Problem
Package: Documentation problem
PHP Version: Irrelevant
Assigned To: mike
Block user comment: N
Private report: N
New Comment:
I still consider the sentence "Flushes the system write buffers of PHP and whatever backend PHP
is using (CGI, a web server, etc)." as misleading, since:
"Several servers, especially on Win32, will still buffer the output from your script until it
terminates before transmitting the results to the browser.
Server modules for Apache like mod_gzip may do buffering of their own that will cause flush() to not
result in data being sent immediately to the client."
But thanks, it's less problematic now.
Previous Comments:
------------------------------------------------------------------------
[2014-07-06 00:49:35] yohgaki@php.net
Automatic comment from SVN on behalf of yohgaki
Revision: http://svn.php.net/viewvc/?view=revision&revision=334135
Log: Fixed bug #67341
------------------------------------------------------------------------
[2014-05-25 23:55:27] chealer at gmail dot com
Description:
------------
The synopsis for flush() is "flush â Flush the output buffer". The description starts
"Flushes the write buffers of PHP and whatever backend PHP is using (CGI, a web server,
etc)."
This is quite misleading. The documentation latter explains:
" It also doesn't affect PHP's userspace output buffering mechanism. This means you
will have to call both ob_flush() and flush() to flush the ob output buffers if you are using those.
"
Therefore, there may be more than a single output buffer. I do not perfectly understand all buffers
involved and I'm not sure about the terminology. What is the antonym of "userspace"?
Quickly, I'd suggest:
flush â Flush system output buffers
"Flushes the system write buffer of PHP and, as much as possible, any write buffer of whatever
backend PHP is using (CGI, a web server, etc)."
---
From manual page: http://www.php.net/function.flush
---
------------------------------------------------------------------------
--
Edit this bug report at https://bugs.php.net/bug.php?id=67341&edit=1