#527 PHPwiki always tries to flush the output buffer

Rendering
closed
Reini Urban
5
2012-10-11
2006-02-25
Matt Brown
No

PHPwiki attempts to always flush the PHP output buffer
on line 453 of Request.php, when output buffering is
not in use this results in an error being raised.

In conjunction with the problem reported in #1438439
this can result in Pragma: no-cache being set on every
page in the wiki even when it should be cachable.

Discussion

  • Logged In: NO

    Please login.

     
  • Reini Urban
    Reini Urban
    2006-03-19

    Logged In: YES
    user_id=13755

    Sorry I don't understand that. Can you elaborate please?
    Which version?

    Request.php:453
    if (!empty($this->_dbi)) {

     
  • Matt Brown
    Matt Brown
    2006-03-23

    Logged In: YES
    user_id=589791

    Sorry, I must have a patch applied that has altered my line
    numbers. I mean the line

    while (@ob_end_flush()); // hmm. there's some error in redirect

    Which is two lines above the line you pasted. This call to
    ob_end_flush occurs regardless of whether buffering is in
    use, and causes errors to be raised. The @ suppresses them
    from being displayed, but it is still enough to trigger the
    error handler and set the no-cache header.

     
  • Reini Urban
    Reini Urban
    2006-04-16

    Logged In: YES
    user_id=13755

    I'm trying now:

            while (@ob_end_flush());
    } elseif (function_exists('ob_get_level') and
    

    @ob_get_level()) {
    while (@ob_end_flush());
    }