Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
Форум программистов > PHP: Общие вопросы > Сессия обрывается |
Автор: Рейкин 18.6.2006, 21:33 |
Собственно говоря год проект (онлайн игра) висел на другом хостинге и такой проблемы не было вообще. Только переехал на новых хостинг, как началось и продолжается уже 2 недели... Залогининого игрока в неожиданные моменты "выкидывает" из игры, т.е. просит войти снова. Можно целый час играть и нет проблем, а можно вылетать каждые 5-10 минут. То, что окно не было активным - не рассматривается. Лично с периодом в 20 секунд играл и вылетал. Каждый раз при разных действиях. Насколько я знаю, новый хост пользуется PHP5, а прошлый - не знаю, но год назад был PHP4. Мож это проблема? Прошу помочь, т.к. не знаю кто виноват... Да, ещё, только один человек не жалуется, т.к. играет из броузера Опера... Спасибо заранее, С уважением. |
Автор: Mal Hack 18.6.2006, 21:38 |
Какой период жизни кук для сессии ты установил программно и какой период жизни для сессии установлен в php.ini? |
Автор: Рейкин 19.6.2006, 08:20 |
Программно длительность жизни кук не задаётся. А php.ini - это хостер задаёт или тоже я? |
Автор: Mal Hack 19.6.2006, 08:31 |
И ты тоже. А ты задай. |
Автор: MeFistofeL 19.6.2006, 09:38 | ||||
Мона также в коде написать :
А чтобы узнать значение :
Попробуй так ![]() |
Автор: Рейкин 19.6.2006, 10:00 |
MeFistofeL, благодарю, пробую. Вот, получилось: 1440 Это в секундах? 24 минуты... А вылеты бывают раньше... |
Автор: R.M. 19.6.2006, 11:57 |
Рейкин, я так подозреваю это в сотых. |
Автор: Mal Hack 19.6.2006, 13:29 | ||
Какого черта вы тут понаписали? ![]()
Первые два параметра указывать надо 100%. В php.ini или через ini_set session.cookie_lifetime session.cache_expire |
Автор: slang 19.6.2006, 18:45 |
Вот у меня на сервере в php.ini стоит: ; Lifetime in seconds of cookie or, if 0, until browser is restarted. session.cookie_lifetime = 0 ; Document expires after n minutes. session.cache_expire = 180 и все-равно сессию вышибает!!! Please, help me!!! |
Автор: Mal Hack 19.6.2006, 19:22 | ||
Наверное надо изменить, желательно прогаммно. |
Автор: slang 19.6.2006, 21:03 |
В моем случае вопрос не во времени. Сейчас сидел и ждал максимальное время (90 минут). Не обращался к серверу, просто ответил на тест и ждал, когда закончится время. Результаты успешно отправились/пришли админу. В чем еще кроме времени могут быть проблемы? Скорее всего заморочки с настройками на сервере или в настройках PHP при маленьком (10-20) объеме клиентов проблем нет, если клиентов в течении короткоого времени значительно (на порядок) больше, то около 40% результатов не приходят (проблема в сессиях, в этом я уже убежден). Каким образом это можно проверить наверняка и как это можно исправить? Просто, я не могу заставить двести человек пройти гос тестирование (сдается при сдаче выпускных экзаменов в моем образовательном учреждении) при возможном варианте что тесты не придут, хотя уже три потока прошли с такими косяками. Раньше пользовал IIS + ASP. Ну не может же быть, что PHP + Apache не справляется с этим ?! Иначе, какого извиняюсь хрена, все кричат о суперости Unix систем?! Раньше со всем этим барахлом справлялись Celeron 600/256/30 (Контроллер домена, шлюз, Web/mail сервер, Интернет-шлюз, Прокси, Рабочая машина, Терминал сервер) Теперь стоит Cel 2.5/512/160 - Web/mail/шлюз/прокси и не справляется. В общем складывается впечатление, что Unix не только АБСОЛЮТНО не защещен от хакерских атак, так как код этой ОС открыт для всеобщего пользования, так еще и не способен работать даже при небольших нагрузках!!! (это уже крик души так сказать) Добавлено @ 21:17 Mal Hack, кроме, как на тебя у меня надежды ни на кого уже и нет ![]() ![]() |
Автор: Mal Hack 19.6.2006, 21:27 |
Фу, брось бяку ![]() АСПистам не показывать ![]() slang, покажи все настройки php.ini касающиеся сессий и покажи код касающийся session_start, |
Автор: slang 20.6.2006, 01:14 | ||||
Mal Hack, php.ini
index.php
вывел все, что так или иначе касается пользователя и в частности сессий. Утро, сеть не загружена, комп, на котором стоит Web-сервер - свободен, из 25 результатов пришли - 4!!! Я извиняюсь - ПОЛНАЯ ЖОПА. Посадил снова народ, пришли больше половины. Хрен его знает где копать ![]() ![]() ![]() |
Автор: Рейкин 20.6.2006, 08:29 | ||||||||
Рад, что вопрос насущный имного интересного написали. Итак:
Это не помогло, всё ещё выбрасывает...
Я в начале каждой страницы игры вводил такую строку
Это, извините, грамматно? И нужно значит добавить ещё строки
И то что Вы предложили, можно также указывать? Правда я не понял что тут чем заполнять.... [, string path [, string domain [, bool secure]]] path => /domain/html/ -? domain +> http://www.сайт.ru -? bool secure - вообще не понял ![]() Можно эту строку с примером увидеть, если я не правильно понял. А если правильно - то bool secure объясните плиз ![]() И вообще, говоря "изменить программно" - это значит добавлять эти команды в файлы сайта или что-то ещё? Спасибо заранее! |
Автор: Mal Hack 20.6.2006, 10:42 | ||||
То, что ты делал через ini_set сделай через htaccess
Или наоборот (строчки местами поменять).
|
Автор: Рейкин 20.6.2006, 14:02 | ||||
Ок, делаю .htaccess, в котором записано
Надеюсь, я понял правильно... Спасибо! Сообщу о результатах, если поможет и если нет. Ужас, у меня появилась ошибка 500 Internal server error ![]() Дело в том, что до этого у меня не было .htaccess файла, а с ними я почти не работал и не знаю что у них к чему ![]() Кстати, до этого у меня было
теперь поменял местами. Мож так сработает?... Пришлось поставить кавычки, а то выдавал ошибку. Проверьте грамматику, пожалуйста, мож я ошибся... |
Автор: Mal Hack 20.6.2006, 14:04 |
Это в скрипте! |
Автор: Рейкин 20.6.2006, 14:18 |
ок, так и сделал. Надеюсь будет работать. Спасибо. Как получу подтверждение, что всё ОК, или наоборот - отпишу. |
Автор: Рейкин 21.6.2006, 10:02 |
Обрывается сессия. 2 раза за 3 минуты выкинуло из игры ![]() Я не прописываю куки в игре. А просто пользуюсь session_start на каждой странице игры. Раньше работало без проблем... ![]() |
Автор: slang 21.6.2006, 12:11 |
Рейкин, сессии работают по средставм куков, т.е. id сессии сохраняется на стороне клиента и сервера, а данные, которые ты читаешь из сессии хранятся на стороне сервера и соответствуют id сессии. |
Автор: Mal Hack 21.6.2006, 13:33 |
Рейкин, что и куда ты записал. Доступ к php.ini есть? Добавлено @ 13:33 Установи в 1. |
Автор: Рейкин 21.6.2006, 20:59 | ||
Это я записал просто в каждый .php файл игры. Как сопровождение к session_start. про php.ini написал в поддержку хоста. если можно получить доступ - я скажу. Я так понимаю, что это
надо изменить в php.ini? И всё же я не понял насчёт кук... Я их не создаю, я просто создаю сессию, не упоминая куки. И это работало раньше. Т.ч. slang, вы немного меня запутали ![]() |
Автор: Рейкин 21.6.2006, 21:49 | ||
Вот такой добрый ответ я получил службы поддержки. И сразу вопрос: Что же мне в нём прописать? как он создаётся вообще? Буду благодарен за терпеливый ответ ![]() Спасибо, С уважением. |
Автор: Mal Hack 21.6.2006, 23:25 |
Рейкин, сессия пишет свой идентификатор в куку, чтобы можно было ее потом опознать. Попробуй сделать эти настройки через .htaccess |
Автор: Рейкин 22.6.2006, 00:16 | ||
Я только обрадовался, что теперь всё решу с помощью php.ini, а мне опять предлагается .htaccess ... который я не знаю как писать. Но всё равно спасибо что пытались помочь. С уважением. |
Автор: Mal Hack 22.6.2006, 11:31 | ||
|
Автор: Рейкин 22.6.2006, 12:34 | ||
Создал такой .htaccess файл для директории, где лежат все файлы.
Больше ничего не создавал (php.ini файла в директории не создавал, т.к. не знаю как... и нужен ли он ещё?!...) Вроде игрушка работает. Послежу за жалобами... Спасибо, Mal Hack, надеюсь скоро вопрос решится ![]() ![]() |
Автор: Mal Hack 22.6.2006, 14:05 | ||||
php.ini ты не можешь создать для себя вот так просто ![]()
Я об этой проблеме слышу периодически раз в 3-4 месяца, но каждый раз забываю, как решать ![]() |
Автор: Рейкин 23.6.2006, 20:26 | ||
жаль, что не вспомнил ![]() Mal Hack, что я ещё могу сделать, чтобы этого не случалось? |
Автор: Mal Hack 23.6.2006, 20:32 |
Рейкин, проверь, если юзерам куки ставить, кууи также пропадают? |
Автор: Рейкин 24.6.2006, 11:42 | ||||||
Вот что я отыскал через cPanel хостинга Цветом я обозначил различие.
А что такое Master Value и могу ли я изменить его на 1800? Я хотел бы узнать как я могу задавать жизнь сессии в броузере ещё? Я сделал .htaccess файл с содержанием
Также на каждой странице .php стоит
Проблема не решена. Очень прошу помочь и подсказать чего не хватает? С уважением. Спасибо |
Автор: Mal Hack 24.6.2006, 15:18 |
Это в php.ini... |
Автор: Рейкин 24.6.2006, 17:22 |
Mal Hack, мне написали из поддержки, что я могу создать php.ini файл для любой директории сам. Как написать php.ini файл с нужными параметрами, чтобы закачать его в ту директорию? |