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: 450

Filed under:
|

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

Related posts about apache2

Related posts about php