Edit report at https://bugs.php.net/bug.php?id=65416&edit=1
ID: 65416
User updated by: jwestbrook at gmail dot com
Reported by: jwestbrook at gmail dot com
Summary: output buffering autostart setting php.ini
-Status: Feedback
+Status: Open
Type: Bug
Package: Output Control
Operating System: linux 64bit AWS ami
PHP Version: 5.4.17
Block user comment: N
Private report: N
New Comment:
Extensions
string(4) "Core"
[1]=>
string(4) "date"
[2]=>
string(4) "ereg"
[3]=>
string(6) "libxml"
[4]=>
string(7) "openssl"
[5]=>
string(4) "pcre"
[6]=>
string(4) "zlib"
[7]=>
string(3) "bz2"
[8]=>
string(8) "calendar"
[9]=>
string(5) "ctype"
[10]=>
string(4) "hash"
[11]=>
string(6) "filter"
[12]=>
string(3) "ftp"
[13]=>
string(7) "gettext"
[14]=>
string(3) "gmp"
[15]=>
string(3) "SPL"
[16]=>
string(5) "iconv"
[17]=>
string(10) "Reflection"
[18]=>
string(7) "session"
[19]=>
string(8) "standard"
[20]=>
string(5) "shmop"
[21]=>
string(9) "SimpleXML"
[22]=>
string(7) "sockets"
[23]=>
string(8) "mbstring"
[24]=>
string(9) "tokenizer"
[25]=>
string(3) "xml"
[26]=>
string(14) "apache2handler"
[27]=>
string(7) "gearman"
[28]=>
string(4) "http"
[29]=>
string(4) "ssh2"
[30]=>
string(4) "curl"
[31]=>
string(3) "dom"
[32]=>
string(8) "fileinfo"
[33]=>
string(2) "gd"
[34]=>
string(8) "igbinary"
[35]=>
string(4) "json"
[36]=>
string(4) "exif"
[37]=>
string(6) "mcrypt"
[38]=>
string(9) "memcached"
[39]=>
string(7) "mysqlnd"
[40]=>
string(5) "mysql"
[41]=>
string(6) "mysqli"
[42]=>
string(8) "newrelic"
[43]=>
string(3) "PDO"
[44]=>
string(9) "pdo_mysql"
[45]=>
string(10) "pdo_sqlite"
[46]=>
string(4) "Phar"
[47]=>
string(5) "posix"
[48]=>
string(4) "snmp"
[49]=>
string(4) "soap"
[50]=>
string(7) "sqlite3"
[51]=>
string(7) "sysvmsg"
[52]=>
string(7) "sysvsem"
[53]=>
string(7) "sysvshm"
[54]=>
string(4) "wddx"
[55]=>
string(9) "xmlreader"
[56]=>
string(9) "xmlwriter"
[57]=>
string(3) "xsl"
[58]=>
string(3) "zip"
[59]=>
string(5) "mhash"
[60]=>
string(12) "Zend OPcache"
}
string(14) "apache2handler"
12 requests where I was able to note that the output buffer failed out of 142
requests to that specific script.
As a whole I average 150,000 PHP requests per day
Previous Comments:
------------------------------------------------------------------------
[2013-08-26 22:45:23] yohgaki@php.net
I guess there is some kind of memory problem.
What modules are loaded in your web server and SAPI?
<?php
var_dump(get_loaded_extensions(), php_sapi_name());
?>
or paste phpinfo() output.
> at least 12 times a day PHP fails to start the output buffer and I get the
error shown.
How many requests a day you have?
------------------------------------------------------------------------
[2013-08-26 21:35:48] jwestbrook at gmail dot com
@mike at php.net Yes that is the bug I'm reporting - the php.ini setting does not
start the output buffer on every request.
------------------------------------------------------------------------
[2013-08-19 22:19:57] mike@php.net
Looks like when this is logged, there actually is no output buffer active, so
ob_get_length() returns false.
------------------------------------------------------------------------
[2013-08-19 22:07:01] jwestbrook at gmail dot com
I also tried the settings of On and 1.
I also understand that #!/usr/bin/php means nothing to output buffering but is output that
I want to capture if the php file is being run from a browser and discard.
From what I understand that is not how the output buffering works. The way I understand it
the output buffer fills then dumps everything when it is full. In this instance before the
output buffer fills I want to discard the first 15 characters because it will corrupt any
binary files that the browser is trying to download.
Based on the test script attached ob_get_length() should ALWAYS return 15 characters -
however at least 12 times a day PHP fails to start the output buffer and I get the error
shown.
------------------------------------------------------------------------
[2013-08-18 06:52:49] yohgaki@php.net
"#!" does not have special meaning for Web server SAPI.
I think you are sending data larger than output buffer size. Then this is the
way supposed to be.
output_buffering=On or 1 is special. It enables unlimited buffering. Anything
other values set buffer chunk size and PHP tries to send data larger than chunk
size.
Check your buffer size (i.e. output_buffering setting of php.ini file)
I guess you have very small output_buffering. Old output buffer increases size
automatically, IIRC. New output buffer does not increase buffer size.
------------------------------------------------------------------------
The remainder of the comments for this report are too long. To view
the rest of the comments, please view the bug report online at
https://bugs.php.net/bug.php?id=65416--
Edit this bug report at https://bugs.php.net/bug.php?id=65416&edit=1