Сайт не узнает админа

Аватар пользователя vVint@my-engels.org vVint@my-engels.org 27 ноября 2006 в 10:16

Здравствуйте.
Вчера в 19.00 обнаружил что сайт и форум не распознают меня в качестве админа (не устанавливаются куки) на форуме (Бюллетень 3.6-ой) и на сайте мной никаких работ не производилось.
После того как залогинился просто белая страница и все.

Для подсказки - форум вообще вот что выдает :
Не удается добавить cookies. Header уже отправлен.
Файл: /home/vvint720/public_html/forum/includes/class_core.php
Строка: 3060
Помогите - где собака порылась?

0 Thanks

Комментарии

Аватар пользователя sivruk sivruk 28 ноября 2006 в 12:58

Припопытке что-либо сделать требует авторизацию. Авторизуется, показывает мое имя и... при нажатии любой ссылки сообщает "Доступ запрещен" и опять авторизоваться.
Беда началась сегодня. До этого уже неделю ничего не делал

Аватар пользователя ultraboy@drupal.org ultraboy@drupal.org 29 ноября 2006 в 12:53

Нужно патчить файл session.inc вот этим патчем. Патч хороший, проверенный, и уже применен к последней версии друпала. Но, кажется еще не к 4.7.4, а к следующей.
<?php

--- includes/session.inc 11 Apr 2006 11:33:14 -0000 1.27
+++ includes/session.inc 10 Nov 2006 20:29:04 -0000
@@ -17,6 +17,11 @@ function sess_close() {
function sess_read($key) {
global $user;

+ // Write and Close handlers are called after destructing objects since PHP 5.0.5
+ // Thus destructors can use sessions but session handler can't use objects.
+ // So we are moving session closure before destructing objects.
+ register_shutdown_function('session_write_close');
+
// retrieve data for a $user object
$result = db_query("SELECT sid FROM {sessions} WHERE sid = '%s'", $key);
if (!db_num_rows($result)) {

?>

(только без тегов PHP, конечно, это я их для наглядности кода добавил)

Аватар пользователя sivruk sivruk 29 ноября 2006 в 13:08

Спасибо за оперативный ответ. Но прости чайника - Как этим патчем пользоваться? Создать php-файл или вставить в session.inc?

Аватар пользователя ultraboy@drupal.org ultraboy@drupal.org 29 ноября 2006 в 13:42

Можно просто вставить. В нужное место. Если стоит знак "+" в начале строки - значит эту строку нужно добавить. Если знака нет, то это просто чтобы ориентироваться куда именно добавлять.

А вообще для этого есть всякие умные программы.

Аватар пользователя ultraboy@drupal.org ultraboy@drupal.org 29 ноября 2006 в 15:28

Да, ее надо добавить.

А само сообщение об ошибке трудно сюда скопировать?!! Или что? Когда думать будем?

И хотелось бы видеть код который получился после вставки (не весь, а только часть!). И знать версию друпала!

Аватар пользователя sivruk sivruk 29 ноября 2006 в 15:37

Спасибо Ултра Бой!!!
Я видать поставил ее до global $user;
Внимательнее гянул и поправил.
Еще раз огромное спасибо!!

Аватар пользователя axel axel 22 декабря 2006 в 4:08

Чего-то у меня ругнулся на mailfomed patch. Сделал патч заново, получилось так (прикладывается):

<?php
--- includes/session.inc.orig 2006-12-22 04:06:05.792933097 +0300
+++ includes/session.inc 2006-12-22 04:06:54.259265476 +0300
@@ -17,6 +17,11 @@
function sess_read($key) {
global $user;

+ // Write and Close handlers are called after destructing objects since PHP 5.0.5
+ // Thus destructors can use sessions but session handler can't use objects.
+ // So we are moving session closure before destructing objects.
+ register_shutdown_function('session_write_close');
+
// retrieve data for a $user object
$result = db_query("SELECT sid FROM {sessions} WHERE sid = '%s'", $key);
if (!db_num_rows($result)) {
?>

--
Администратор сайта «Drupal — Россия»
на вопросы по Drupal отвечаю только на форумах, не пишите в почту и приватом!

Аватар пользователя rapitosov@drupal.org rapitosov@drupal.org 28 ноября 2006 в 17:39

Мне показалось, или Уважаемые и вправду пользуются одним хостингом? Попробуйте обратиться к хостеру, наверняка у него найдётся для Вас ответ.
---
http://drupal5.ru - информация для друпателей
качественные ответы только на качественные вопросы

Аватар пользователя vVint@my-engels.org vVint@my-engels.org 30 ноября 2006 в 14:53

Спасибо все получилось. Хостинг мог бы и сообщить о том что сменили версию PHP. Сейчас наверно техподдержка мучится - пытается восстановить неработающие сайты...

Аватар пользователя vitamin vitamin 5 декабря 2006 в 13:27

Спасибо!

Удивительно, но для 4.6 тоже помогло.
А что там сломали в PHP5.2? обновил, главное дело, с 5.1.6 до 5.2 - и такая фигня!
Думал уже назад откатываться..

Аватар пользователя Krotty@drupal.org Krotty@drupal.org 11 января 2007 в 11:34

Обновил PHP до версии 5.2 и тоже столкнулся с этой проблемой.
Впрочем, в Drupal 4.7.5, как уже говорил ultraboy, этот баг пофиксили.

Аватар пользователя Гость Гость (не проверено) 19 апреля 2008 в 23:43

Спасибо большое. На душе стало так легко. А то уже замучился с этим багом.

Аватар пользователя Akzhan Akzhan 19 апреля 2008 в 23:52

скорее уж пользуются одним PHP :)

P.S.: обычно решается патчами к продуктам.