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

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

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

PerS
Сообщений: 2543
veteran

Почему могли сдохнуть сессии? (PHP) [   N1876227798 - 12.12.09 01:25 ]

У людей вдруг "перестал работать сайт" на PHP без MySQL. Просят помочь.
70% чего-т поменял хостер и 70% - что не признается... к тому ж, на этом славном нском хостинге сидят полные ***.

Как смотрел:

Вводим неправильные логин с паролем - как положено, сообщение от движка. Вводим правильные - ничего, т.е., reload главной страницы с пустой формой входа, будто не пытались войти. Ставим ошибки в E_ALL - пусто. Логов на хосте нет, тока ftp.
Пробуем регистриться - всегда "неправильный код сообщения". Дело в том, что только он передается через $_SESSION. И потому же не входим при правильном логине с паролем.
Вот соответствующий код:
Code:

$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'] всегда пуст. Получен он был в другом файле так:
Code:

session_start();
session_register("antibot");
$_SESSION['antibot'] = $content;


$content правильный, отображается тоже правильно.
Так уже не пишут, но и версия PHP-то какая (см. ниже).
Все права и проч. правильные.
Настройки хостера:
Code:

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, попробовал - не помогло. Для сравнения - тот же движок прекрасно работает у того же хостера на другом серваке с такими настройками:
Code:

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


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

--------------------
Осторожно, злой кот! [e-mail]pers@mail.ru[/e-mail]

347
Сообщений: 1487
veteran

Re: Почему могли сдохнуть сессии? (PHP) [   [Re: PerS]  N1876229491 - 12.12.09 14:26 ]

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

PerS
Сообщений: 2543
veteran

Re: Почему могли сдохнуть сессии? (PHP) [   [Re: 347]  N1876229780 - 12.12.09 15:59 ]

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

$_POST и $_SESSION есть с версии 4.1.0

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

--------------------
Осторожно, злой кот! [e-mail]pers@mail.ru[/e-mail]

Anomander
Сообщений: 2409
veteran

Re: Почему могли сдохнуть сессии? (PHP) [   [Re: PerS]  N1876233157 - 13.12.09 13:03 ]

В ответ на:
Интересно, как только эти скрипты работали столько лет на 4 PHP?


Может, проще все-таки стукнуть кулаком по столу и потребовать от провайдера PHP5?

PerS
Сообщений: 2543
veteran

Re: Почему могли сдохнуть сессии? (PHP) [   [Re: Anomander]  N1876233428 - 13.12.09 14:47 ]

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

--------------------
Осторожно, злой кот! [e-mail]pers@mail.ru[/e-mail]

Ельцин
Сообщений: 791
experienced
:)
Re: Почему могли сдохнуть сессии? (PHP) [   [Re: PerS]  N1876239859 - 14.12.09 17:54 ]

В ответ на:
Все права и проч. правильные.

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

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

Anomander
Сообщений: 2409
veteran

Re: Почему могли сдохнуть сессии? (PHP) [   [Re: PerS]  N1876240510 - 14.12.09 20:03 ]

В ответ на:
И Вам спасибо за совет... но было бы проще, не заводил бы тему

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

PerS
Сообщений: 2543
veteran

Re: Почему могли сдохнуть сессии? (PHP) [   [Re: Ельцин]  N1876242855 - 15.12.09 08:35 ]

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


Прав 777 на tmp обычно достаточно :))

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

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

--------------------
Осторожно, злой кот! [e-mail]pers@mail.ru[/e-mail]

P.S. Вероятнее всего, причина всё же в том, что провайдер в очередной раз перенёс сайт на другой IP, оставив ftp-доступ к прежней копии, которую я и менял.

P.P.S. Если не можете понять причину, по которой session_start() не стартует, хотя всё сделал, как в книжке" - загляните сюда, проблема, вероятно, в BOM.


теги: php новосибирск хостинг ftp провайдеры

28.01.2010, 18:56; рейтинг: 10021