За последние 24 часа нас посетили 22198 программистов и 1155 роботов. Сейчас ищут 358 программистов ...

ob_start();

Тема в разделе "Прочие вопросы по PHP", создана пользователем Danilevsky, 13 фев 2006.

Статус темы:
Закрыта.
  1. Danilevsky

    Danilevsky Активный пользователь

    С нами с:
    12 фев 2006
    Сообщения:
    286
    Симпатии:
    0
    Адрес:
    Киев
    Здравствуйте!
    По неизвестным мне причинам результат работы этой функции на разных серверах различается.
    На локальной машине с PHP под Windows все работает как надо заголовки передает.
    Но после заливки скрипта на сервер хостера с Linux скрипт отказывается работать и выдает:
    Почему так?
     
  2. wolandino

    wolandino Активный пользователь

    С нами с:
    5 фев 2006
    Сообщения:
    193
    Симпатии:
    0
    Адрес:
    Россия, Астрахань
  3. Danilevsky

    Danilevsky Активный пользователь

    С нами с:
    12 фев 2006
    Сообщения:
    286
    Симпатии:
    0
    Адрес:
    Киев
    wolandino, спасибо, но я знаю как решить проблему посланных заголовков. Меня интересует почему на одном сервере работает, а на другом нет. И зависит ли ob_start() от каких либо настроек?
     
  4. Anonymous

    Anonymous Guest

    Покажи код.
     
  5. Danilevsky

    Danilevsky Активный пользователь

    С нами с:
    12 фев 2006
    Сообщения:
    286
    Симпатии:
    0
    Адрес:
    Киев
    Я в шоке.
    Вот только-что обнаружил, что у меня на локальной машине это работает:
    PHP Version 4.3.0
    Apache 1.3.33
    Windows XP

    Код (Text):
    1. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    2. <html xmlns="http://www.w3.org/1999/xhtml">
    3. <head>
    4. <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    5. <title>Проверка</title>
    6. </head>
    7.  
    8. <body>
    9. <table width="171" border="0" cellpadding="0" cellspacing="0">
    10.   <tr>
    11.     <td width="171" height="39" valign="top">Проверка</td>
    12.   </tr>
    13.   <tr>
    14.     <td height="86" valign="top">
    15.     </td>
    16.   </tr>
    17. </table>
    18. <?
    19.  echo 'Еще раз проверка для точности';
    20.  header("Location: http://www.php.ru/");
    21. ?>
    22. </body>
    23. </html>
    Как это можна обьяснить?
     
  6. Kolo

    Kolo Активный пользователь

    С нами с:
    3 фев 2006
    Сообщения:
    51
    Симпатии:
    0
    Адрес:
    SPb
    Это значит, что буферизация вывода включена уже в конфиге.
     
  7. Nimous

    Nimous Активный пользователь

    С нами с:
    5 фев 2006
    Сообщения:
    64
    Симпатии:
    0
    Адрес:
    Москва
    Ага.
    А на хосте - выключена.
     
  8. 440Hz

    440Hz Старожил
    Команда форума Модератор

    С нами с:
    21 дек 2012
    Сообщения:
    8.003
    Симпатии:
    1
    Адрес:
    Оттуда
    я вот думаю, на сколько сложно выдать phpinfo() и посмотреть что НА САМОМ ДЕЛЕ включено или выключено где бы то ни было?
     
  9. Danilevsky

    Danilevsky Активный пользователь

    С нами с:
    12 фев 2006
    Сообщения:
    286
    Симпатии:
    0
    Адрес:
    Киев
    Спасибо всем кто откликнулся - я уже понял что-то на локалке у меня буферизация была не откулючена.
    Но дело в том что я во скриптах везде вначале ставил ob_start();
    По идее это функция включает буферизациюю. Так? или что она делает?
    Еще раз спасибо!
     
  10. 440Hz

    440Hz Старожил
    Команда форума Модератор

    С нами с:
    21 дек 2012
    Сообщения:
    8.003
    Симпатии:
    1
    Адрес:
    Оттуда
    что-что, перехватыват весь вывод (кроме заголовков) в буфер. а что ты ожидал?
     
  11. Nimous

    Nimous Активный пользователь

    С нами с:
    5 фев 2006
    Сообщения:
    64
    Симпатии:
    0
    Адрес:
    Москва
    Danilevsky
    Я бы тебе посоветовал зайти сюда и сюда,
    дабы избавить себя и окружающих от вопросов, которые решаются внимательным чтением мануала.
     
Статус темы:
Закрыта.