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

Прислано: vVint@my-engels.org

пн, 27/11/2006 - 07:16

Другие статьи по теме:

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

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

Комментарии


Настройки просмотра комментариев

Выберите нужный метод показа комментариев и нажмите "Применить"
Опубликовано sivruk в вт, 28/11/2006 - 09:58.

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


Опубликовано rapitosov@drupal.org в вт, 28/11/2006 - 14:39.

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


Опубликовано ultraboy@drupal.org в вт, 28/11/2006 - 21:56.

Друпал 4.7 ? Обновился PHP до 5.2 ? Если все это так, то есть лекарство.


Опубликовано sivruk в ср, 29/11/2006 - 09:13.

Друпал 4.7 ? Обновился PHP до 5.2 хостинг от Slavhost.
Что за лекарство?


Опубликовано ultraboy@drupal.org в ср, 29/11/2006 - 09: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,+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 в ср, 29/11/2006 - 10:08.

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


Опубликовано ultraboy@drupal.org в ср, 29/11/2006 - 10:42.

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

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


Опубликовано sivruk в ср, 29/11/2006 - 12:07.

Тоесть добавить вот эту строчку:
register_shutdown_function('session_write_close');?
Но тогда у меня начинает ругаться на что то в этой строке
$result = db_query("SELECT sid FROM {sessions} WHERE sid = '%s'", $key);


Опубликовано ultraboy@drupal.org в ср, 29/11/2006 - 12:28.

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

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

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


Опубликовано sivruk в ср, 29/11/2006 - 12:37.

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


Опубликовано Dan в ср, 29/11/2006 - 14:31.

ultraboy@drupal.org, а разработчики в курсе этого бага (и решения)?


Опубликовано ultraboy@drupal.org в ср, 29/11/2006 - 16:35.

2 Dan: Читай внимательно http://www.drupal.ru/node/3022#comment-14191


Опубликовано vVint@my-engels.org в чт, 30/11/2006 - 11:53.

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


Опубликовано Dan в чт, 30/11/2006 - 14:38.

"2 Dan: Читай внимательно"
Виноват, исправлюсь :)


Опубликовано fad в пн, 04/12/2006 - 04:27.

Спасибо и от меня!!!! А то уже подумывал о смене движка


Опубликовано vitamin в вт, 05/12/2006 - 10:27.

Спасибо!

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


Опубликовано axel в пт, 22/12/2006 - 01: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,+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 отвечаю только на форумах, не пишите в почту и приватом!


Опубликовано Krotty@drupal.org в чт, 11/01/2007 - 08:34.

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


Опубликовано shamaner в ср, 12/12/2007 - 07:30.

mem


Опубликовано Гость (гостевой логин) в сб, 19/04/2008 - 19:43.

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


Опубликовано Akzhan в сб, 19/04/2008 - 19:52.

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

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


Опубликовано Гость (гостевой логин) в вт, 13/05/2008 - 10:13.

Спасибо большое, очень помогло!


Новое на сайте

Ссылки партнёров