#20772 [Opn]: Output control + memory limit + big file read

From: Date: Tue, 03 Dec 2002 21:38:47 +0000
Subject: #20772 [Opn]: Output control + memory limit + big file read
References: 1  Groups: php.bugs 
Request: Send a blank email to php-bugs+get-26566@lists.php.net to get a copy of this message
ID: 20772 User updated by: busia@tiscali.it Reported By: busia@tiscali.it Status: Open -Bug Type: Output Control +Bug Type: Filesystem function related Operating System: redhat 7.0 PHP Version: 4.3.0RC2 New Comment: Because the problem seems to be a "fpassthru" problem, I have changed the category from "output control" to "filesystem function" Previous Comments: ------------------------------------------------------------------------ [2002-12-03 12:26:57] busia@tiscalinet.it Using php4.3.0RC2: Now I have put a .htaccess file with ------------------ php_flag output_buffering Off ------------------ and added ini_set('memory_limit','100M'); at the beginning of the script and now it works but the script is using 40Mbyte RAM, why? The fpassthru($fd) function seems to load the complete file in memory but in version 4.2.3 it sent it directly to the output without loading it in memory. ------------------------------------------------------------------------ [2002-12-03 06:43:53] busia@tiscalinet.it to add to the summary: php 4.3.0RC2 without output buffering : "unable to find the server" error. ------------------------------------------------------------------------ [2002-12-03 06:41:46] busia@tiscalinet.it Errata corridge: The script works well adding the "ob_end_clean()" function only if I use php 4.2.3. Using php 4.3.0RC2 the script give me a blank document. I have tried to set ----------------------- php_flag output_buffering Off ----------------------- in .htaccess and to comment the "ob_and_clean()" but the script give me a "unable to find the server" error now (this is also the error that the script gave me with output buffering activated and no "ob_end_clean" in php 4.2.3) Summary: php 4.3.0RC2 + output buffering on (without "ob_end_clean()"): "unable to find the server" error. php 4.3.0RC2 + output buffering on (with "ob_end_clean()"): "document contains no data" error. php 4.2.3 + output buffering on (without "ob_end_clean()"): "unable to find the server" error. php 4.2.3 + output buffering on (with "ob_end_clean()"): all is ok. I have experienced the same "document contains no data" in other scripts in which i used the "ob_end_clean()" function to deactivate the output buffering (when I cannot use .htaccess) but these scripts worked well with php 4.2.3. Andrea Busia ------------------------------------------------------------------------ [2002-12-02 16:50:33] busia@tiscalinet.it In the script the last "}" is to delete. ------------------------------------------------------------------------ [2002-12-02 16:43:37] busia@tiscali.it If I try to run this script the server simply exit without giving me anything. <? echo "A"; $fd=fopen("aaa/temp", "wb"); fpassthru($fd); echo "B"; } ?> The server is configured with output buffering activated (gz_handler), memory limit enabled (8MB) and the temp file is bigger than 8MByte I have understand that the problem that the script excedeed the memory limit and adding, as first line, ob_end_clean(); the script works, but in the error log there isn't a fatal error or a warning, nothing; also the access log doesn't log the hit. It's possible to add a fatal error to let the programmer know what is the problem. ------------------------------------------------------------------------ -- Edit this bug report at http://bugs.php.net/?id=20772&edit=1

« previous php.bugs (#26566) next »