Bug #12952 Updated: Output buffering misbehaving
| From: | ryan_sokol at ihearditwas dot com | Date: | Tue, 30 Oct 2001 21:40:02 +0000 |
| Subject: | Bug #12952 Updated: Output buffering misbehaving | ||
| References: | 1 | Groups: | php.dev |
| Request: | Send a blank email to php-dev+get-69357@lists.php.net to get a copy of this message | ||
ID: 12952
User updated by: ryan_sokol@ihearditwas.com
Reported By: ryan_sokol@ihearditwas.com
Status: Open
Bug Type: Output Control
Operating System: RedHat 7.2
PHP Version: 4.0.6
New Comment:
Almost forgot, I also get this in my Apache error_log:
[Tue Oct 30 15:36:56 2001] [notice] child pid 4831 exit signal Segmentation fault (11)
Previous Comments:
------------------------------------------------------------------------
[2001-10-30 15:35:30] ryan_sokol@ihearditwas.com
Changed the bug type, OS, and Summary.
After unsuccessfully trying to get a backtrace (got a Segmentation Fault and "Document contains
no data", but could not generate a core file nor force a crash on httpd in gdb), I have
concluded that this has to do with the
--enable-trans-sid option AND ob_end_flush() on PHP 4.0.6. When I compile PHP WITHOUT the
--enable-trans-sid, I have no problems (except I need the trans-sid for my sessions). But when I
recompile PHP WITH --enable-trans-sid, I get the Segmentation Fault and "Document contains no
data" errors.
I think this is related to Bug# 12180. Again, the code (see above) did not change from PHP 4.0.4pl1
to PHP 4.0.6, but the result of execution did.
------------------------------------------------------------------------
[2001-10-26 18:06:58] ryan_sokol@ihearditwas.com
Note: The function sessionResume() simply checks if a session exists for the user and continues it
if it does or starts a new one if it doesn't.
------------------------------------------------------------------------
[2001-08-24 17:24:36] ryan_sokol@ihearditwas.com
Here's my configure line:
'./configure' '-with-apxs' '--enable-track-vars'
'--disable-debug' '--enable-sysvshm' '-enable-sysvsem'
'-enable-trans-sid'
I have been running PHP 4.0.4pl1 with no problems for about 5 months and tried to move to PHP 4.0.6.
The code below produced an undisplayable page in 4.0.6 but works fine in 4.0.4pl1:
///////////////////////////////////////////////////////////
ob_start();
if (sessionResume() == false)
{
// some error handling code here
include "error.fre";
return;
}
else
{
// some more logic here
if($loginTo != '') // means would rather go to another page, probably from bookmark
header("Location: " . $loginTo . "&PHPSESS=" . session_id());
else
include "member-home.fre";
}
ob_end_flush();
///////////////////////////////////////////////////////////
What happens when I run this code is IE gives me a "Page cannot be displayed" screen. I
am positive this has something to do with 4.0.6 because I had 4.0.4pl1 installed, then upgraded to
4.0.6 and got the error, and then downgraded back to 4.0.4pl1 (where it worked properly again)
without changing one line of code or anything in php.ini.
Sorry I can't offer any suggestions, but let me know if I can help track this one down.
------------------------------------------------------------------------
Edit this bug report at http://bugs.php.net/?id=12952&edit=1