Проблема со стартом сессии.

Статус
В этой теме нельзя размещать новые ответы.

Zt0

Новичок
Проблема со стартом сессии.

Только не ругайте, подобных тем нашел в поиске немало, но проблемы не решил.

Решил сделать функции для управления сессиями. Взял пример из PhpInside(2004). На локалхосте все отлично работает, а на хостинге у меня выдало "Failed to register session handler".

Посмотрел логи, нашел:
A session had already been started - ignoring session_start() in /usr/home/777/.......

Код файла:
<?
require_once('ses.php');
session_start();
...
?>

Где в файле ses.php ф-ции session_set_save_handler. Session_start() там НЕТ.

Получается, что сессия автоматически стартует и когда доходит до session_start();, то сессия уже создана и выдает ошибку. Почему? Никто с таким не сталкивался?

ps: попробовал в начале файла поставить session_destroy(); - все работает, но ведь при переходе на др. страницу сессия закроется, тогда бессмысленно ее юзать...
 

Zt0

Новичок
Нет, на этом хостинге, где расположен скрипт, уже сайт эдак десятый выкладываю и все ок было, поэтому и фигею откуда могла взяться сессия...
 

Фанат

oncle terrible
Команда форума
не понял.
судя по твоему первому посту, это первый твой сайт с сессиями.
и при чём здесь тогда те, которые ты выкладывал раньше?
И вообще - при чём здесь другие сайты?
Я тебя спрашивал, сколько ты сайтов на этот хостинг выкладывал?
 

Zt0

Новичок
Я к тому, что не стоит автостарт.
Сессии-то конечно использовал. А собственные ф-ции управления сессиями - нет.
 

Фанат

oncle terrible
Команда форума
о как.
всё гораздо интереснее.
повтори, пожалуйста, в таком случае, какого ответа ты от нас ждёшь?
 

Zt0

Новичок
Если бы знал ответ почему сессия создается до session_start(), то не задавал бы вопрос и не ЖДАЛ его от вас (зачем ждать ответ, который ты УЖЕ знаешь - комментарий к твоему вопросу).
А ВОПРОС могу повторить - почему при отключенном автостарте сессия стартует ДО session_start();? А ОТВЕТа на него я не знаю. Поэтому и СПРАШИВАЮ.
 

Фанат

oncle terrible
Команда форума
а, на этот вопрос ответ очень простой.
либо то, что я написал в самом начале, либо ты два раза вызываешь session_start()

всегда рад помочь. заходи ещё
 

Zt0

Новичок
Пока ты тут, тогда задам еще один вопрос, если уж можно.
До этого попрошу заглянуть на мое первое сообщение в этой теме:
Код файла:
<?
require_once('ses.php');
session_start();
...
?>
Где в файле ses.php ф-ции session_set_save_handler. Session_start() там НЕТ.
Откуда можно понять, что два раза session_start() я не пишу. Также я отвечал выше, что автостарт не стоит.

Вопрос: сколько еще раз я буду писать, что 2 раза не вызывается и автостарта нету, пока ты не поймешь?
 

SiMM

Новичок
Zt0, тебе PHP чётко дал понять, что Фанат прав. Врочем, трепаться на форуме куда проще, чем искать ошибку в своих скриптах/настройках.
 

Zt0

Новичок
SiMM
А я не треплюсь на форуме, у меня не 10 тысяч сообщений, хотя я тут сижу не первый год. Все потому, что когда у меня возникают вопросы, я прежде чем мчаться и тупо создавать тему, сначала пытаюсь найти ответ на вопрос. И, в отличие от многих на форуме с их вопросами, находил решение или поиском по форуму, или на php.net.
И вот как раз сейчас я создал тему, потому что ну никак не вижу в чем проблема: на локалхосте все работает отлично, также специально проверил на двух других хостингах - там все РАБОТАЕТ нормально.
А вот когда я залил на другой хостинг этот скрипт, то он стал выдавать ошибки, которые я написал выше. Автостарт сессий в настройках отключен, поэтому я все же решил создать тему.
 

MadGreen

meninweb
с чего ты взял что в пхп ини сессия не инициализируется? хостер ответил?
 

ksnk

прохожий
Zt0
попробуй написать так:
PHP:
<?
session_start(); // поставь это в первую строку
require_once('ses.php');
...
?>
Осталось ли ругательство на первую строку или переместилось в файл ses.php?
 

antson

Новичок
Партнер клуба
в ses.php часом после ?> никакие символы не затесались ?
пробельчик там лишний или перевод строки.
возможно файлик залился не в бинаре моде и 0D,0A преобразовались.
 

SiMM

Новичок
> в ses.php часом после ?> никакие символы не затесались ?
A session had already been started и headers already sent - две большие разницы.

> на локалхосте все работает отлично, также специально проверил на двух других хостингах - там все РАБОТАЕТ нормально.
Как же вы задолбали с подобными отговорками...
http://bugs.php.net/bug.php?id=25534
 

Zt0

Новичок
с чего ты взял что в пхп ини сессия не инициализируется? хостер ответил?
Пхпинфо и поддержка хостинга.
попробуй написать так:
А зачем тогда мне ф-ции управления сессиями, если они идут ПОСЛЕ старта сессии?
пробельчик там лишний или перевод строки.
Если так, тогда было бы headers already sent, не надо придумывать сюда лишнего.

-~{}~ 13.08.06 21:37:

Как же вы задолбали с подобными отговорками...
а это не отговорка. Я первым делом подумал, что ошибка в скрипте. Но после теста на 2 хостингах видно,что не работает только на данном хостинге, про который я говорю.
 

SiMM

Новичок
Оправдываться не требовалось. Требовалось пойти и почитать.
PHP 4.3.3 fixes a bug in ealier versions of php whereby a warning was not issued when session_start was called more than once.
 

MadGreen

meninweb
Zt0
а ты читай что тебе дают, SiMM не просто так ссылку дал.
то что работало на двух хостах не снимает ошибки с твоего скрипта

-~{}~ 13.08.06 21:42:

упс, чуть опоздал
 
Статус
В этой теме нельзя размещать новые ответы.
Сверху