Список блоггеров

Что Вас интересует?

15 Хаків Drupal 6.

Оригінал статті - на druler.com - drupal hacks

Drupal Tricks
Отже

15 Хаків Drupal 6.

Проблеми Інсталяції

  1. PHP register_globals увімкнено хостером. На тих хостінгах, де хостер відмовляється вимикати - можна працювати і з ним(не дуже безпечно, але...) Знаходимо модуль system, файл system.install і міняємо 
    $requirements['php_register_globals']['severity'] = REQUIREMENT_ERROR; на
    $requirements['php_register_globals']['severity'] = REQUIREMENT_WARNING;
  2. mbstring проблема. в файлі settings.php (можна і в default.settings.php) Додаєм строки(PHP)
    ini_set('mbstring.http_input','pass'); 
    ini_set('mbstring.http_output','pass');
  3. Проблема ввімкненого модуля, в випадках, коли після вмикання якогось ресурсоємкого модуля виникає так званий WSOD(White Screen Of Death) і друпал перестає працювати(найчастіше через нестачу пам'яті інтерпретатору php) таблиця system стане у нагоді. Приклад вимикання модуля help
    UPDATE `Ім'я бази даних`.`system` SET `status` = '0' WHERE CONVERT(`system`.`filename` USING utf8) = 'modules/help/help.module' LIMIT 1;
    Думаю, що легко зрозуміти з того ж самого phpmyadmin, що виставляння поля status в 0 - вимкне відповідний модуль. Нагадаю, що при значенні 32Mb для php - такі проблеми практично не виникають на сайтах малого та середнього навантаження.
  4. Таблиця variable Досить корисна таблиця, в якій більшість модулів і саме ядро друпал зберігають змінні. Для прикладу на цьому блозі в таблицю збережено більше 900 значень - такий собі Drupal registry. Але в контексті хаків цікавлять лише два: - поле clean_url - виставляння якого в нуль вимикає роботу чистих посилань (в моєму випадку зустрічалась проблема при переносі інсталяції на інший хостінг, де mod_rewrite був вимкнений), - error_level - вмикання різних варіантів відображення помилок та попереджень в друпалі - дуже і дуже корисно при діагностиці та початковому налагоджуванні.
  5. Вставка ноди в матеріал або шаблон, або куди завгодно в межах однієї інсталяції
    464 - це номер ноди.
    Більш розвинута тема в вигляді модуля
  6. Вставка блока в будь-яке місце(навіть в ноду)
  7. Інсталяція модуля search404 і коректна його настройка (особливо корисно в випадках старих сайтів)

Оптимізація по швидкості.

  1. Javascript вниз розмітки. Це стосується не тільки друпала, а й будь-якої CMS, але вважаю за потрібне згадати про це тут. Для цього в шаблоні Вашої теми шукаєте файл page.tpl.php і переносите код вставки скриптів перед самим закриванням HTML тега body
  2. вмикання модуля Throttle і обов'язкове обмеження таких модулів як Database logging (можна навіть вимкнути), Search, Statistics, Update Status, та інших, які автоматично вимикатимуться при досягненні вказаного Вами відсотка навантаження на сервер.
  3. Вмикаєм модулі
    • Queue Mail(+ Job queue),
    • Statistics Filter(в якому вимикаєм покази адміністратора взагалі),
    • Javascript Tools - пришвидшує роботу для користувача та зменшує навантаження на сервер,
    • DHTML Menu - реально пришвидшує як роботу з усіма меню сайта, так і зменшення кількості трафіку, що проходитиме через Ваш браузер і сервер,
    • Javascript Comments - пришвидшення сайту з точки зору користувачів-коментаторів і зменшення кількості лишніх оновлень сторінки.
  4. Завантаження файлів ( /admin/settings/file-system ) робимо публічно доступним - тоді відсутнє перехоплення скриптами даного процесу і відсутність навантаження на сервер.
  5. Кешування ( /admin/settings/performance ) ставим Нормальне, Компресію вимикаєм, Пакування CSS вмикаєм, Пакування JS вимикаєм(це зумовлено сумісністю для різних броузерів).
  6. В особливо складних і навантажених випадках інсталяція модуля cachestatic допоможе кардинально знизити навантаження на сервер.
  7. Якщо хостер жаліється на сильне навантаження на SQL сервер можна використати модуль db_tweaks, що наразі в статусі розробки, але в тестах показує досить хороші результати. В окремих випадках подібну роботу можна виконати через модуль system.install.
  8. Вмикаємо htaccess захист від hotlinking, щоб зменшити використання ресурсів Вашого сервера лівими користувачами.

Це звичайно не всі можливості, але з подібним набором - Ваш Друпал-сайт буде реально швидким, максимально легким і зручним як для адміністрування, так і для користування.