Оживляем друпал

Непрошло и пары дней, как я успешно слегка завалил drupal. Здесь планирую собирать способы восстановления друпал после сбоев и просто всякие мелкие решения, которые легко забыть.

Забыл пароль админа в Drupal 6

Первым делом был забыт пароль от админки. С ненастроенным хождением почты - эт кирдык.

Лекарство.

Берём phpmyadmin или mysql -u mysql_login -p и вставляем новый пароль вместо успешно забытого.

Таблица user, поле pass. Пароль кодируем методом md5('your_lost_password');

Добавлено: Если после этого продолжает не пускать, то возможно в settings.php установлена переменная $cookie_domain = 'example.com'; в которой значение ни разу не совпадает с тем хостом, на котором сейчас живёт сайт.

Забыл пароль в Drupal 7

В седьмом друпале восстановление пароля несколько сложнее.

Первым делом нужно заставить друпал сгенерить новый пароль. Самый простой способо - это в index.php дописать пару строчек кода:

define('DRUPAL_ROOT', getcwd());
require_once DRUPAL_ROOT . '/includes/bootstrap.inc';
drupal_bootstrap(DRUPAL_BOOTSTRAP_FULL);
require_once 'includes/password.inc';
echo user_hash_password('NEW PASSWORD');
die();
menu_execute_active_handler();

А потом зайти на сайт, быстро всё вернуть как было и получившуюся строчку запихнуть в поле pass в таблицу users для нужного пользователя.

Не работает страница управления модулями

Следом был превышен лимит памяти при установке новых модулей - у друпаловцев это завётся как White Screen of Death или Modules Blank Page. Выглядит как совсем пустая страница в разделе Modules. В логах apache проявляется криком о нехватке памяти.

Лечится следующим образом - тупо добавляем памяти на PHP'шный процесс или переезжаем на более дорогой/правильный хостинг.

У меня исправилось с помощь ковыряния .htacces к корневой папке.

# PHP 5, Apache 1 and 2.
<IfModule mod_php5.c>
  php_value magic_quotes_gpc                0
  php_value register_globals                0
  php_value session.auto_start              0
  php_value mbstring.http_input             pass
  php_value mbstring.http_output            pass
  php_value mbstring.encoding_translation   0
  php_value upload_max_filesize             10M
  php_value post_max_size                     20M
  php_value memory_limit                     36M
</IfModule>

И о чудо - всё заработало :)

Иногда для борьбы с глюком типа "Fatal error: Maximum execution time of 60 seconds exceeded in ...\www-root\includes\common.inc on line ..." помогает подручиваение параметра max_execution_time до нужного.

Если чуда не произошло, то скорее всего на сервере заблокированы эффекты от наших ковыряний в .htaccess. Тогда пойдём другим путём. А именно в sites/default/settings.php и тупо допишем там рядом с кучей прочих ini_set() своё ini_set('memory_limit','36M');

И о чудо - всё заработало :)

Если чуда опять не произошло - идём в сапорт и говорим хочу больше памяти на процесс в php.

Ходят слухи, что так же помогает отключение модуля Update Status.

Пропала кнопка редактирования своего контента

Странная проблема, которую никак не удавалось диагностировать, наконец решена.

Если пропадает кнопка редактирования СВОЕГО материала, то с большой вероятностью проблема в том, что формат ввода (Input Format) выставлен тот, к которому у роли нету доступа. Лечится в меню Administer>Site configuration>Input formats следующим образом: или выставляем права для каждого формата ввода или выставляем самый нужный по умолчанию.

Поменять местами словари таксономии и тело материала

Решения на уровне галочек и перетаскиваний не дают результата, поскольку место словарей вбито гвоздями в теме. А именно в файле node.tpl.php.

Решение: берём открываем его в текстовом редакторе и переставляем в нужное нам место <div class="terms"><?php print $terms; ?></div>

Поменять формат даты (на всём сайте)

Идём в настройки даты (/admin/settings/date-time) и там вбиваем нужный формат для всех допустимых случаев. Если нет стандартного, то выбираем вариант custom и попутно смотрим на мануал от PHP'шной функции date.

Передать во view таксономию от текущей ноды

В аргументы view'са загоням Taxonomy: Term ID в свойствах которого говорим Provide default argument -> PHP Code и вбиваем туда следующее (правя под себя, если нужно):

<?php
$node = node_load(arg(1));
if ($node){
  foreach($node->taxonomy as $term){$terms[]=$term->tid;}
  return implode('+',$terms);
}else{
 return;
}
?>

Этот код загружает текущую ноду и дёргает из неё всю таксономию, передавая её вьюсу.
TBD: поигратсья с global $node дабы не напрягать лишний раз и без того уставший движёк друпала.

В IE8 не работает shadowbox

Достаточно найти в модуле skin.css и воткнуть там следующую конструкцию:

#shadowbox_title { 
border: 0px solid;
}

#shadowbox_info {
border: 0px solid;
}

Проблемы на главной странице многоязычносайта с модулем menu breadcrumb

Неожиданно выяснилось, что старый добрый модуль menu breadcrumb ломает язык на главной странице в хлам и сайт попадает в межязычье. Например для немецкого сайта выводится аглиское меню и немецкий контент, а переключалка языка вообще зависает между языками. Путём долгого кликания галочками нашёл виновного и заменил его на custom_breadcrumbs betta 3.

Добавлено

menu breadcrumb частично оказался не причём - во всё была виновата кривая тема. А именно функция которая звучит как THEME_links();

Симптомы: корректные ЧПУ формируются только для текущего языка, сайт часто зависает в межязычье, ЧПУ для перехода на другой язык формируются максимум в виде lang/node/123.

 

RSSAdd to Google

Обсуждение:

  • Автор: (Анонимус)
  • Тема: нужно восстановить сайт из бэкапа
  • У меня есть бэкап сайта на друпал. Хотела восстановить бэкап на локальный сервер xammp, но не знаю как, метод научного тыка не помогает :(
    Может Вы расскажете?

  • Отправлено:
  • Автор: Dmitrii Varvashenia
  • Тема: Как поднять сайт на друпал из резервной копии
  • 1. Сложить все файлы от бэкапа друпала в корневую папку сервера. Как вариант создать под него virtual host.
    2. Создать базу данных, загрузить в неё дамп базы данных из резервной копии.
    3. Создать пользователя в mysql, предоставить ему доступ к базе данных. В settings.php в друпале прописать данные для доступа к выше созданной базе данных.
    4. Допиливать напильником, читая логи сервера, если что-то не запустилось. Но если всё сделано правильно, то должно уже работать.

  • Отправлено:
  • Автор: (Анонимус)
  • Тема: непонятный бэкап...
  • Спасибо, Дмитрий.
    Все понятно, кроме того где искать дамп базы данных.
    У меня сделан бэкап так: я заходила PhpMyAdmin и нажимала "мастер резервного копирования", затем "создать резервную копию", затем "полная резервная копия". И потом уже скачивала эту созданную резервную копию. Получала архив папки. И где в ней дамп базы данных не могу понять :( Я нашла папку msql, и там есть документ с названием моей базы данных, но он не заархивирован и когда я его импортирую в базу данных он ругается и ничего не импортирует.
    Может Вы знаете как имея такую резервную копию, как у меня восстановить ее? Еще раз спасибо.

  • Отправлено:
  • Автор: Dmitrii Varvashenia
  • Тема: Достать mysql из непонятного бэкапа друпал
  • Скорее всего документ с названием базы и есть дамп этой самой базы.
    А как именно ругается PhpMyAdmin?

    Предполагаю, что скорее всего упирается в размер дампа базы. Вероятнее всего размер файла больше ограничений в php.ini - нужно увеличивать параметры в php.ini или добавлять их .htaccess на предмет увеличения размера передаваемого файла.

    Но прежде чем что-ли менять в настройках, попробуйте открыть это файл в простом текстовом редакторе (например в Блокноте) и посмотрите действительно-ли внутри содержится SQL.

    Как вариант дамп базы данных можно импортировать минуя phpmyadmin через командную строку. Для этого дамп должен быть разархивирован и выполнена примерно следующая команда:

    mysql -u Логин_пользователя -p Название_базы_данных <"путь и имя sql-файла"

    Оно спросит пароль, немного по тормозит и скорее всего база данных будет успешно импортирована.

  • Отправлено:
  • Автор: (Анонимус)
  • Тема: отобаржение статистики
  • Подскажите, как убрать отображение количества просмотров заметки не отключая модуля stat?
    Ковыряние в node.tpl.php не помогло. Не нашла, наверное )

  • Отправлено:
  • Автор: (Анонимус)
  • Тема: белый экран
  • Помогите! у меня на сайте возник этот экран (после подклучения интернет-магазина и настроек imagecagh). Я ситуацию повторила на денвере, у себя. С помощью ваших рекомендаций вырулила, белых страниц нет! Ура! но на хостинге (т.е. в НЕТе) это не помогает:(((
    Белый экран возникает, когда я вхожу node/edit. ЧТО ДЕЛАТЬ?
  • Отправлено:
  • Автор: (Анонимус)
  • Тема: dupal 7
  • Дмитрий, а раздел "Конфигурация" админки у вас не слетала, подобно модулям?

    У меня вот такая беда случилась http://www.drupal.ru/node/75196

    Может быть, сможете что-то подсказать?
    Спасибо!

  • Отправлено:

Как вам материальчик? *



















Тема:

Мысль:

Как звать-то:

Почта:

PS: Комментарии публикуются только после проверки модератором.

PPS: E-mail'ы не публикуются.

* обязательные поля