php.net |  support |  documentation |  report a bug |  advanced search |  search howto |  statistics |  random bug |  login
Bug #25152 output buffering functions don't catch "virtual" output
Submitted: 2003-08-19 12:33 UTC Modified: 2003-08-19 17:42 UTC
From: msarsale at buenosaires dot gov dot ar Assigned:
Status: Not a bug Package: Output Control
PHP Version: 4.3.2 OS: linux
Private report: No CVE-ID: None
 [2003-08-19 12:33 UTC] msarsale at buenosaires dot gov dot ar
Description:
------------
Output buffering function don't catch the output of a 'virtual' call.

For example, the following code produces 'ba' (where coso.html contains 'b')

<?
ob_start();
virtual("/coso.html");
$c=ob_get_contents();
ob_end_clean();

print "a";
print $c;
?>


Expected result:
----------------
Virtual output should be catched by the ob functions. The above code should print

'ab'

instead of

'ba'

Actual result:
--------------
The above code prints the virtual output before the ob_end_clean() call


Patches

Add a Patch

Pull Requests

Add a Pull Request

History

AllCommentsChangesGit/SVN commitsRelated reports
 [2003-08-19 17:42 UTC] iliaa@php.net
Thank you for taking the time to write to us, but this is not
a bug. Please double-check the documentation available at
http://www.php.net/manual/ and the instructions on how to report
a bug at http://bugs.php.net/how-to-report.php

This is because the virtual() function is essentialy an Apache server side include and as such it does not go through PHP but rather via Apache directly. Consequently PHP cannot buffer this function's output.
 
PHP Copyright © 2001-2024 The PHP Group
All rights reserved.
Last updated: Sun May 05 12:01:32 2024 UTC