ID:               20772
 User updated by:  [EMAIL PROTECTED]
 Reported By:      [EMAIL PROTECTED]
 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] [EMAIL PROTECTED]

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] [EMAIL PROTECTED]

to add to the summary:

php 4.3.0RC2 without output buffering : "unable to
find the server" error.

------------------------------------------------------------------------

[2002-12-03 06:41:46] [EMAIL PROTECTED]

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] [EMAIL PROTECTED]

In the script the last "}" is to delete.

------------------------------------------------------------------------

[2002-12-02 16:43:37] [EMAIL PROTECTED]

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

Reply via email to