1. Задавайте здесь вопросы о коде, которые не подходят в другие разделы, такие как:
    Дизайн > Верстка
    PHP > Как сделать на PHP
    Скрыть объявление

почему на сервере session_start() работает, если до нее есть вывод в броузер?

Тема в разделе "Web Coding", создана пользователем vilk108, 10 фев 2008.

Статус темы:
Закрыта.
Модераторы: latteo
  1. vilk108

    vilk108

    Регистр.:
    17 дек 2007
    Сообщения:
    174
    Симпатии:
    41
    есть сайт на котором работает session_start() , которая подключается в середине странице, а до нее выводится куча html в броузер. Когда устанавливаю этот сайт на денвере то сессия не стартует, а выводится ошибка стандартная - произошел вывод в броузер до сессии. Приходитса session_start() перемещять в начало страници(На денвере). Вопрос каким образом на сервере так сделано что session_start() можно ставить после того как броузеру послан заголовок?
     
  2. grey109

    grey109

    Регистр.:
    3 апр 2007
    Сообщения:
    176
    Симпатии:
    19
    Сервер настроен на "гашение" всех ошибок и предупреждение, что есть не правильно. По идее, толку от session_start после того как браузер что-то вывел не будет.

    Так что или делай session_start в самом начале скрипта или если это не возможно, то выкручивайся с помощью ob_start().
     
  3. Jeurey

    Jeurey

    Регистр.:
    13 сен 2006
    Сообщения:
    419
    Симпатии:
    576
    Никак.
    Вывод в браузер означает то, что PHP сам завел сессию. Отослав хоть одну запятую в браузер, он тем самым отсылает заголовки на клиента.
    А потом вы еще раз пытаетесь отправить ручками измененные (ч-з session_start()).
     
  4. vilk108

    vilk108

    Регистр.:
    17 дек 2007
    Сообщения:
    174
    Симпатии:
    41
    да действительно отключен вывод ошибок в броузер.
    А вот я загрузил страницу на сервер, с таким содержанием
    а ошибка всеравно не выводится. Почему? Ведь включил вывод всех ошибок. На денвере сразу ругаетса Warning: session_start() [function.session-start]: Cannot send session cache limiter - headers already sent (output started at X:\home\main\www\untitled1.php:7) in X:\home\main\www\untitled1.php on line 8
     
  5. mentanos

    mentanos Постоялец

    Регистр.:
    27 дек 2007
    Сообщения:
    128
    Симпатии:
    35
    ты уверен, что на сервере cookie session включено?
     
  6. vilk108

    vilk108

    Регистр.:
    17 дек 2007
    Сообщения:
    174
    Симпатии:
    41
    cookie и session на сервере точно включены
     
  7. mentanos

    mentanos Постоялец

    Регистр.:
    27 дек 2007
    Сообщения:
    128
    Симпатии:
    35
    я имел в виду session.use_cookies = 1 в php.ini?
     
  8. vilk108

    vilk108

    Регистр.:
    17 дек 2007
    Сообщения:
    174
    Симпатии:
    41
    Да. Нашел через phpinfo - session.use_cookies On
     
  9. mentanos

    mentanos Постоялец

    Регистр.:
    27 дек 2007
    Сообщения:
    128
    Симпатии:
    35
    А output_buffering =?
     
  10. vilk108

    vilk108

    Регистр.:
    17 дек 2007
    Сообщения:
    174
    Симпатии:
    41
    output_buffering=4096
     
Статус темы:
Закрыта.