PHP output buffer settings ignored by server
Posted
by
Ecom Evolution
on Server Fault
See other posts from Server Fault
or by Ecom Evolution
Published on 2012-07-04T00:50:30Z
Indexed on
2012/07/04
3:17 UTC
Read the original article
Hit count: 476
I have been trying to flush the output of certain scripts to the browser on demand, but they do not work on our production server.
For instance, I tried running the "Phoca Changing Collation tool" (find it on Google) and I don't see any output until the script finishes executing.
I've tried immediately flushing the buffer on other scripts that work fine on any server but this one using the following code:
echo "something";
ob_flush();
flush();
Setting "ob_implicit_flush(1);" doesn't help either.
The server is Apache 2.2.21 with PHP 5.2.17 running on Linux. You can see our php.ini file here if that will help: http://www.smallfiles.org/download/1123/php.ini.html
This isn't the only problem we are having with the server ignoring in-script directives. The server also ignores timeout coding such as:
ini_set('max_execution_time', 900*60);
AND
set_time_limit(86400);
Script always times out at the php.ini default.
Doesn't seem to matter if script is executed in IE or Firefox.
Tried "ini_set('zlib.output_compression_level', 'Off');" and checked that it is "Off" in the php.ini file. The code "apache_setenv('no-gzip', 1);" causes a fatal error so tried uploading a .htaccess file with the "mod_gzip_on No" directive. Neither helps.
Tried running Apache as fcgi and suphp, but same results.
Server is NOT in safe mode.
Pullin ma hair out!
© Server Fault or respective owner