Белый экран при материале в 260 Кб

Тема в разделе "Ошибки при работе с Joomla", создана пользователем someone, 01.09.2012.

  1. Offline

    someone Недавно здесь

    Регистрация:
    01.09.2012
    Сообщения:
    1
    Симпатии:
    0
    Пол:
    Мужской
    Здравствуйте. Находил много тем про белые экраны в Joomla, но ответа на свой вопрос не нашел. Короче есть материал в 260 Кб, который нужно выводить на страницу. На локалке всё нормально, а на VPS - белый экран. При этом никаких ошибок не выводится (отладочный режим включал). Копаясь в коде, обнаружил что глюк вроде бы как в файле /libraries/joomla/environment/response.php. Там есть такие 2 функции:

    Код (PHP):
    1. function getBody($toArray = false)
    2.     {
    3.         if ($toArray) {
    4.             return $GLOBALS['_JRESPONSE']->body;
    5.         }
    6.  
    7.         ob_start();
    8.         foreach ($GLOBALS['_JRESPONSE']->body as $content) {
    9.             echo $content;
    10.         }
    11.         return ob_get_clean();
    12.     }
    13.  
    14.     /**
    15.      * Sends all headers prior to returning the string
    16.      *
    17.      * @access public
    18.      * @param boolean   $compress   If true, compress the data
    19.      * @return string
    20.      */
    21.     function toString($compress = false)
    22.     {
    23.         $data = JResponse::getBody();
    24.  
    25.         // Don't compress something if the server is going todo it anyway. Waste of time.
    26.         if($compress && !ini_get('zlib.output_compression') && ini_get('output_handler')!='ob_gzhandler') {
    27.             $data = JResponse::_compress($data);
    28.         }
    29.  
    30.         if (JResponse::allowCache() === false)
    31.         {
    32.             JResponse::setHeader( 'Expires', 'Mon, 1 Jan 2001 00:00:00 GMT', true );                // Expires in the past
    33.             JResponse::setHeader( 'Last-Modified', gmdate("D, d M Y H:i:s") . ' GMT', true );       // Always modified
    34.             JResponse::setHeader( 'Cache-Control', 'no-store, no-cache, must-revalidate', true );   // Extra CYA
    35.             JResponse::setHeader( 'Cache-Control', 'post-check=0, pre-check=0', false );            // HTTP/1.1
    36.             JResponse::setHeader( 'Pragma', 'no-cache' );                                           // HTTP 1.0
    37.         }
    38.  
    39.         JResponse::sendHeaders();
    40.         return $data;
    41.     }


    Если не использовать ob_start и ob_get_clean, а выводить просто $content, то страница отображается, но при этом перестает работать компонент sh404, а он мне нужен. И еще странно то, что приведенные выше функции вызываются по очереди у созданного объекта. Первая возвращает результат, а во второй при $data = JResponse::getBody(); $data равна пустой строке.........

    кто-нибудь может что-то подсказать ?
     
  2.  
  3. OlegK
    Offline

    OlegK Russian Joomla! Team Команда форума ⇒ Профи ⇐

    Регистрация:
    17.01.2011
    Сообщения:
    7 812
    Симпатии:
    771
    Пол:
    Мужской
    Сравнить версии пхп.Включить gzip в настройках сайта.
    Смотреть права на чтение этого файла.
     

Поделиться этой страницей

Загрузка...