Bug #18035 Updated: session_destroy causes loss of output
| From: | moosh at phpFrance dot com | Date: | Mon, 15 Jul 2002 13:25:27 +0000 |
| Subject: | Bug #18035 Updated: session_destroy causes loss of output | ||
| References: | 1 | Groups: | php.bugs |
| Request: | Send a blank email to php-bugs+get-14205@lists.php.net to get a copy of this message | ||
ID: 18035
Updated by: moosh@phpFrance.com
Reported By: warwick@imvs.sa.gov.au
Status: Closed
Bug Type: Session related
Operating System: RedHat 7.2
PHP Version: 4.2.0
New Comment:
I can reproduce with this.
Thats works only the firstime when session is not already a cookie.
note that 012345678910 is break
----------------
<?php
session_start();
?>
<html>
<body>
<HR /> begin source <HR />
<?php
highlight_file("./".$PHP_SELF);
?>
<HR /> End source <HR />
<A href="blabla.php">blabla</A>
0 1 2 3 4 5
<?php session_destroy(); ?>
6 7 8 9 10
</body>
</html>
Previous Comments:
------------------------------------------------------------------------
[2002-07-01 19:48:13] warwick@imvs.sa.gov.au
Thanks for your prompt response - I downloaded the CVS snapshot
php4-200206272100 and it worked fine :)
Keep up the *great* work guys!
------------------------------------------------------------------------
[2002-06-28 02:03:40] sniper@php.net
I can't reproduce this..can you please try this
snapshot:
http://snaps.php.net/php4-latest.tar.gz
------------------------------------------------------------------------
[2002-06-28 01:30:24] warwick@imvs.sa.gov.au
This problem occurs with PHP 4.2.0 and PHP 4.2.1 but is fine using PHP
4.1.1 and older versions.
When calling a session_destroy() on a newly created session, it will
clear buffered output when greater than 4k without sending it to the
client.
The following sample script should demonstrate this. When $repeatCount
is 4096 or greater, only the word END will be output, without the 4096
X's preceeding it. When repeatCount is 4095 the X's and the word END
are sent.
By removing the session_destroy() call following the str_repeat echo
the X's will be output regardless of the $repeatCount setting.
<?php
## Sample script
##
## Relevant (?) php.ini settings I have:
## output_buffering = Off (have tried 8192 - no effect)
## output_handler =
## zlib.output_compression = Off
## implicit_flush = Off
## $repeatCount = 4095; ## Works fine
$repeatCount = 4096; ## Fails
session_start();
echo str_repeat('X', $repeatCount);
session_destroy();
echo "END";
?>
------------------------------------------------------------------------
--
Edit this bug report at http://bugs.php.net/?id=18035&edit=1