Страница 1 из 1

При очередном запуске сайта Выдает:

Добавлено: 21 май 2014, 08:34
Gaarrik
Здравствуйте!
(Комп был в начале выключен полностью (обычно в режиме сна))
Error displaying the error page: Application Instantiation Error: Table 'bdht.sugm6_session' doesn't exist SQL=SELECT `session_id` FROM `sugm6_session` WHERE `session_id` = '3oqlet388iooo462jql9093si3' LIMIT 0, 1
Все заработало на 3ем перезапуске сервера.

Добавлено: 21 май 2014, 15:49
Redee
Сессии в php это довольно обширная тема.

По умолчанию php-сессии работают через куки файлы.
В настройках пхп надо учитывать много директив, контролирующие корректное открытие / закрытие / возобновление / очистку сессий и их кук.

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

http://pastebin.com/x83VjB4p
зеркало
https://github.com/Redee/test/blob/master/session.php

Кстате по умолчанию файлы с id и данными сессии php кидаются относительно временной папки OpS, при остановке и запуске OpS та папка очищается.

Юзай phpinfo(); чтобы сверять начальные параметры.

з.ы. Наверное еще все заработало когда вдовесок очистил и куки в браузере )).

Добавлено: 21 май 2014, 21:53
Gaarrik
Спасибо! Ничего не очищал и с перепугу FireFox запустил - тоже самое. Никогда его не юзал.
Я правильно понял?
Просто перезапустить сервер и если не поможет то очистить куки.
Мягко говоря я новичок. :oops:
Если есть более правильная последовательность то пожалуйста напишите (может почистить еще чего нибудь или запустить). И конечно без глубокого внедрения в тему, а то я пока все равно не переварю.

Добавлено: 21 май 2014, 23:07
Redee
Полюбому надо понимать настройки apache / php / mysql.
А просто не объяснишь тут дело в том что! Одно за другое хватается и друг от друга зависят.

Если в двух словах то схема такая.
Открываешь страницу сайта в браузере где стартует сессия.
Веб сервер кидает куку с id_сессии в браузер компа который просматривает твой сайт с определенным временем жизни.
При этом создается файл в папке веб-сервера temp OpS с названием sess_[id_сессии], в нем содержаться необходимые сохраненные данные.

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

Вот еще действие которое тебе поможет понять сессии на примере гугл хрома, в данном случае тебя интересует кука сайта с session_id или сокращенно sid >

Изображение
Изображение

1. Спрашивает куку для сайта с session_id с браузера клиента.

2. Кука сессии ЕСТЬ которая имеет id сессии - спрашивает у себя на веб-сервере сайта файл с данными сессии для этого id сессии, если есть то вгружает данные >>>
- если нет файла с этим id сессии, то создает новый пустой файл сессии на веб-сервере c id сессии, взятое с куки;

3. Куки сессии НЕТ - создает новую куку клиенту и создает новый файл сессии на веб-сервере.

з.ы. Ну нельзя вот так просто взять и... :D
з.ы.ы. У тебя там еще пробрасывается для чего то id сессии в БД, хотя как по мне это лишнее.