ID: 11491
Updated by: [EMAIL PROTECTED]
Reported By: [EMAIL PROTECTED]
Status: Closed
Bug Type: Documentation problem
Operating System: Windows 2000 Server
PHP Version: 4.0.5
New Comment:
Please reopen - the very same bug is still alive in PHP 4.1.1
(Win32/Apache).
Problem: Any user-defined output handler MUST be called before
trans-sid's are applied since they may very well modify the HTML
output.
Suggestion: add another (opt) parameter to ob_start, specifying a
first-pass handler which will be called _before_ trans-sid's are
applied. The original first parameter specifies the handler that will
be called _after_ applying the trans-sid's.
BEFORE CHANGE (trans-sid's are broken):
string ob_start('my_handler');
function my_handler($buffer, $mode)
{
// do something useful with $buffer
return ob_gzhandler($buffer, $mode);
}
AFTER CHANGE (trans-sid's should work):
string ob_start('ob_gzhandler','my_handler');
function my_handler($buffer, $mode)
{
// do something useful with $buffer
return $buffer;
}
The PHP engine would first call my_handler(), apply trans-sid's next,
and finally call ob_gzhandler(). This solution seems to be a reasonable
change and shouldn't break existing code.
Thanks for consideration!
Ernest E Vogelsinger
Previous Comments:
------------------------------------------------------------------------
[2001-12-22 08:40:31] [EMAIL PROTECTED]
No feedback. Closing.
------------------------------------------------------------------------
[2001-12-22 08:40:26] [EMAIL PROTECTED]
No feedback. Closing.
------------------------------------------------------------------------
[2001-12-01 12:15:00] [EMAIL PROTECTED]
This should be fixed, please try a recent version of PHP.
------------------------------------------------------------------------
[2001-06-21 14:24:22] [EMAIL PROTECTED]
This should be mentioned in the manual?
Reclassified as docu prob.
------------------------------------------------------------------------
[2001-06-20 17:05:01] [EMAIL PROTECTED]
output buffering takes place before the transient sid
mechanism, which is the last thing to happen before
the actual script output is passed on to the webserver
so the trans-sid parser will not recognize the URLs
in the already compressed output, thats it
------------------------------------------------------------------------
The remainder of the comments for this report are too long. To view
the rest of the comments, please view the bug report online at
http://bugs.php.net/11491
--
Edit this bug report at http://bugs.php.net/?id=11491&edit=1