Сделал сайт www.4qs.ru, залил на хостинг ur.ru
Не работает форма ввода, ни в блоке, ни /user.
Ввожу логин и пароль, Enter, форма появляется заново, чистая.
Не работает ни в Огнелисе 1.5, ни в IE 6
Почитал темы по этому вопросу -- ничего не помогает.
Drupal: 5.1
MySQL: 5.0.19
PHP: 4.4.2
Что характерно -- в таблице {session} записи не появляются.
Остальные формы работают как надо.
Помогите, люди добрые. Сайт сдавать надо...
P.S.:
Али может подскажите,
какие функции задействованы в механизме сессий?
Сам найду. Может, ссылки на доки?
Комментарии
Что говорят логи сервера?
попробуйте обновить страницу (думаю проблема с кэшем)
В логах ошибок не обнаружено. Страницы обновлял уже раз 50...
Думаю, надо найти почему в БД ничего не записывается...
Удалось зарегистрироваться (user 2), но войти не дает, правда и форму не сбрасывает...
А может не поставилась галочка активности у пользователя?
Да, еще... мистика, это необъясненная закономерность... какие права доступа у зарегистрированного пользователя - может там галки слетели?!
Нажал на "Ответы":
user warning: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'AND n.uid = 0 ORDER BY n.nid DESC' at line 1 query: SELECT n.nid, n.created, n.finished, n.uid, u.name, n.training, t.title FROM 4qs_fourqs_answers n INNER JOIN 4qs_node t ON n.training = t.nid LEFT JOIN 4qs_users u USING (uid) AND n.uid = 0 ORDER BY n.nid DESC in /web/ru4qs/site/www/includes/database.mysql.inc on line 172.
Сталкивался с похожей проблемой, на локалке все работало нормально, при выкладке на хостинг начались вышеописаные проблемы. В моем случае проблему удалось решить очисткой всей таблицы variable (кеш переменных тоже не забудь очистить), и прописываением заново всех настроек через интерфейс.
Баг с "Ответы" поправил, спасибо.
Увы, он к логину отношения не имеет.
Очистка variable и заново прописывание -- это шаманизм.
Тем паче, что менять там нечего, и ничего особо важного тоже нет.
А где кэш переменных?
P.S.: Так может кто-нить подскажет по поводу механизма сессий, куда копать?
Кеш переменных находится в таблице cache, но можешь очистить ее всю...
Шаманством это выглядит только потому, что мы не знаем причины происходящего. Еще раз повторюсь что симптомы у меня были точно такие же, так что попробуй...
Попробовал -- не помогает.
Благодарю за поддержку, Krotty.
Тут ещё вопрос: Может надо какие-то особые права доступа на подпапки?
А то я chmod -R 755 *
Не, понятно, что для files нужно другое. Но у меня files нет.
Али может из-за того, что PHP установлен как CGI?
Apache 1.3.34
просмотрите настройки php
автостарт сесий - Off
Проверил:
session.auto_start 0
сколько памяти выделено?
memory_limit = 32M
http://drupal.org/node/6696
Пост старый а комменты свежие - может что и пригодится...
Спасибо, bloackvl, поковырял, но чего-то не помогает.
Дело в том, что сессия не создается из по следующим причинам:
Строка 72 файле session.inc:
<?php
if ($user->uid || $value || count($_COOKIE)) {
db_query("INSERT INTO {sessions} (sid, uid, cache, hostname, session, timestamp) VALUES ('%s', %d, %d, '%s', '%s', %d)", $key, $user->uid, $user->cache, $_SERVER["REMOTE_ADDR"], $value, time());
}
?>
То есть, запись сессии в базу происходит только если:
1. Пользователь уже залогинен.
2. Значение уже какое-то задано.
3. В переменной $_COOKIE что-то записано.
Почему-то на сервере ur.ru в переменную $_COOKIE ничего не попадает!
Хотя, даже у анонимоуса должна генериться сессия! Почему?
Может, это связано с тем, что на хостинге PHP установлен как CGI?
Как следствие, через установки в .htaccess не задаются параметры PHP.
Через ini_set в settings.php пробовал задавать
ini_set('session.auto_start', 1);
Но почему-то всё равно не работает и в $_COOKIES ничего не падает.
Может кто есть знающие люди по вопросам механизмов кукисов?
Ещё такой вопрос: Где огнелис 1.5 хранит куки?
Всё, разобрался с бедой этой!!!
Проблема в том, что почему-то друпал неправильно переписывал домен для куков.
А может на сервере что-то странное передавалось в $_SERVER['HTTP_HOST']
Так или иначе, когда я установил ini_set('session.cookie_domain', 'www.4qs.ru');
и закомментировал последующий код, где происходит попытка автоматической коррекции этого значения, то всё заработало!!!
Всем спасибо за внимание. На будущее -- есть смысл всегда прописывать в настройках: session.cookie_domain