На информационном ресурсе применяются cookie-файлы. Оставаясь на сайте, вы подтверждаете свое согласие на их использование.
Почему могли сдохнуть сессии? (PHP)
4241
7
PerS
v.i.p.
У людей вдруг "перестал работать сайт" на PHP без MySQL. Просят помочь.
100% чего-т поменял хостер и 100% - что не признается... к тому ж, на этом славном нском хостинге сидят полные ***.
Как смотрел:
Вводим неправильные логин с паролем - как положено, сообщение от движка. Вводим правильные - ничего, т.е., reload главной страницы с пустой формой входа, будто не пытались войти. Ставим ошибки в E_ALL - пусто. Логов на хосте нет, тока ftp.
Пробуем регистриться - всегда "неправильный код сообщения". Дело в том, что только он передается через $_SESSION. И потому же не входим при правильном логине с паролем.
Вот соответствующий код:
Через $_POST передается что надо, а $_SESSION['antibot'] всегда пуст. Получен он был в другом файле так:
$content правильный, отображается тоже правильно.
Так уже не пишут, но и версия PHP-то какая (см. ниже).
Все права и проч. правильные.
Настройки хостера:
Может есть опытный человек - куда курить? Вроде всё, что знаю о PHP, попробовал - не помогло. Для сравнения - тот же движок прекрасно работает у того же хостера на другом серваке с такими настройками:
Естессна, это другой домен и другой владелец, но сайт отличается лишь оформлением.
100% чего-т поменял хостер и 100% - что не признается... к тому ж, на этом славном нском хостинге сидят полные ***.
Как смотрел:
Вводим неправильные логин с паролем - как положено, сообщение от движка. Вводим правильные - ничего, т.е., reload главной страницы с пустой формой входа, будто не пытались войти. Ставим ошибки в E_ALL - пусто. Логов на хосте нет, тока ftp.
Пробуем регистриться - всегда "неправильный код сообщения". Дело в том, что только он передается через $_SESSION. И потому же не входим при правильном логине с паролем.
Вот соответствующий код:
$antibot_input = $_POST['antibot_input'];
session_start();
session_register("antibot");
$antibot_code = $_SESSION['antibot'];
if(strtolower($antibot_input) != strtolower($antibot_code)) { $er[] = "Введен неправильный код"; }
Через $_POST передается что надо, а $_SESSION['antibot'] всегда пуст. Получен он был в другом файле так:
session_start();
session_register("antibot");
$_SESSION['antibot'] = $content;
$content правильный, отображается тоже правильно.
Так уже не пишут, но и версия PHP-то какая (см. ниже).
Все права и проч. правильные.
Настройки хостера:
PHP Version 4.3.11
Session Support enabled
Registered save handlers files user
Directive Local Value Master Value
session.auto_start Off Off
session.bug_compat_42 Off Off
session.bug_compat_warn On On
session.cache_expire 120 120
session.cache_limiter nocache nocache
session.cookie_domain no value no value
session.cookie_lifetime 0 0
session.cookie_path / /
session.cookie_secure Off Off
session.entropy_file no value no value
session.entropy_length 12 12
session.gc_divisor 1000 1000
session.gc_maxlifetime 360 360
session.gc_probability 1 1
session.name PHPSESSID PHPSESSID
session.referer_check no value no value
session.save_handler files files
session.save_path /tmp /tmp
session.serialize_handler php php
session.use_cookies On On
session.use_only_cookies Off Off
session.use_trans_sid Off Off
Может есть опытный человек - куда курить? Вроде всё, что знаю о PHP, попробовал - не помогло. Для сравнения - тот же движок прекрасно работает у того же хостера на другом серваке с такими настройками:
PHP Version 5.2.9
Session Support enabled
Registered save handlers files user sqlite
Registered serializer handlers php php_binary
Directive Local Value Master Value
session.auto_start Off Off
session.bug_compat_42 Off Off
session.bug_compat_warn On On
session.cache_expire 180 180
session.cache_limiter nocache nocache
session.cookie_domain no value no value
session.cookie_httponly Off Off
session.cookie_lifetime 0 0
session.cookie_path / /
session.cookie_secure Off Off
session.entropy_file no value no value
session.entropy_length 0 0
session.gc_divisor 1000 1000
session.gc_maxlifetime 1440 1440
session.gc_probability 1 1
session.hash_bits_per_character 5 5
session.hash_function 0 0
session.name PHPSESSID PHPSESSID
session.referer_check no value no value
session.save_handler files files
session.save_path /tmp /tmp
session.serialize_handler php php
session.use_cookies On On
session.use_only_cookies Off Off
session.use_trans_sid 0 0
Естессна, это другой домен и другой владелец, но сайт отличается лишь оформлением.
Спасибо, что открыли для меня новое в PHP.
Интересно, как только эти скрипты работали столько лет на 4 PHP?
$_POST и $_SESSION есть с версии 4.1.0
Как я понял, сессии перестали работать именно после апдейта хостера с 4.3.1 (или 4.2.1?) на 4.3.11
Что там конкретно апдейтилось - криворукий мальчег из ТП хостера не имеет понятия
Интересно, как только эти скрипты работали столько лет на 4 PHP?

$_POST и $_SESSION есть с версии 4.1.0
Как я понял, сессии перестали работать именно после апдейта хостера с 4.3.1 (или 4.2.1?) на 4.3.11
Что там конкретно апдейтилось - криворукий мальчег из ТП хостера не имеет понятия

Интересно, как только эти скрипты работали столько лет на 4 PHP?Может, проще все-таки стукнуть кулаком по столу и потребовать от провайдера PHP5?![]()
И Вам спасибо за совет... но было бы проще, не заводил бы тему
Просто и раньше сталкивался с таким - при апе у провайдера до некоторых версий PHP вдруг перестают работать сессии в пользовательских скриптах. Вот и думал, мож кто увидит, с какой настройкой в первом посте что не так.

Просто и раньше сталкивался с таким - при апе у провайдера до некоторых версий PHP вдруг перестают работать сессии в пользовательских скриптах. Вот и думал, мож кто увидит, с какой настройкой в первом посте что не так.
Все права и проч. правильные.Точно? проверьте еще раз права на запись/чтение в session.save_path
И Вам спасибо за совет... но было бы проще, не заводил бы темуТо есть провайдер не хочет апгрейдиться до PHP5 - или вы не хотите?
Или просто интересно разобраться, что там к чему? Если что-то можно тупо исправить "малой кровью", я обычно так делаю и особо не заморачиваюсь.
Сейчас читают
Внимание! Опасная автомойка! по протоколу ГИБДД
51632
285
Версии исчезновения Ирины Сафоновой Часть6 NF
233097
1003
Опять про ВОВ (WW2)...
95591
720
еще раз права на запись/чтение в session.save_pathПрав 777 на tmp обычно достаточно :))
В общем, что-то с железом у провайдера было, на другом серваке все заработало.
Всем спасибо.
ТОП 5
1
3
4