0°C
завтра: 4°C
Погода в Перми
0°C
днем6°C
вечером7°C
завтра4°C
Подробно
 63,85
−0.3712
Курс USD ЦБ РФна 21 сентября
63,8487
−0.3712
 70,60
−0.3398
Курс EUR ЦБ РФна 21 сентября
70,5975
−0.3398
PRM.Форум /Компьютеры Интернет Связь / Программирование /

Почему могли сдохнуть сессии? (PHP)

  • У людей вдруг "перестал работать сайт" на PHP без MySQL. Просят помочь.
    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

    Естессна, это другой домен и другой владелец, но сайт отличается лишь оформлением.

    Осторожно, злой кот!

  • в 4м пхп нет $_POST и $_SESSION

  • Спасибо, что открыли для меня новое в PHP.
    Интересно, как только эти скрипты работали столько лет на 4 PHP?:улыб:
    $_POST и $_SESSION есть с версии 4.1.0

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

    Осторожно, злой кот!

  • В ответ на: Интересно, как только эти скрипты работали столько лет на 4 PHP?:улыб:
    Может, проще все-таки стукнуть кулаком по столу и потребовать от провайдера PHP5?

  • И Вам спасибо за совет... но было бы проще, не заводил бы тему:улыб:
    Просто и раньше сталкивался с таким - при апе у провайдера до некоторых версий PHP вдруг перестают работать сессии в пользовательских скриптах. Вот и думал, мож кто увидит, с какой настройкой в первом посте что не так.

    Осторожно, злой кот!

  • В ответ на: Все права и проч. правильные.
    Точно? проверьте еще раз права на запись/чтение в session.save_path

    вот такая загагулина получается...

  • В ответ на: И Вам спасибо за совет... но было бы проще, не заводил бы тему
    То есть провайдер не хочет апгрейдиться до PHP5 - или вы не хотите?
    Или просто интересно разобраться, что там к чему? Если что-то можно тупо исправить "малой кровью", я обычно так делаю и особо не заморачиваюсь.

  • В ответ на: еще раз права на запись/чтение в session.save_path
    Прав 777 на tmp обычно достаточно :))

    В общем, что-то с железом у провайдера было, на другом серваке все заработало.

    Всем спасибо.

    Осторожно, злой кот!

Записей на странице:

Перейти в форум

Модератор: