Drupal: Как очистить кэш

В сегодняшней статье рассмотрен вопрос как очистить кэш Drupal.

В большинстве случаев, очистка кэша требуется при перемещении сайта с одного хостинга на другой. Также очистка нужна при установке новых модулей, или с целью устранения неполадок. Часто бывает так, что при настройке меню и сохранении, не видно никаких изменений. В данном случае тоже помогает очистка кэша. Сама очистка кэша для сайта безвредна - все что вы можете заметить, это кратковременное незначительное замедление отдачи контента сайтом. Скорость сайта восстановится, после того, как кэш снова будет наполнен.

Если вы хотите очистить только кэш темы, гляньте статью http://drupal.org/node/337176.

Кнопка для очистки кэша Drupal

Откройте меню Конфигурация (Site configuration) > Секция Разработка (Development) > Производительность (Performance). Вверху страницы вы увидите кнопку Очистка кэша.

После нажатия вы увидите системное сообщение: Кэш очищен.

Выполнение update.php также очистит кэш

Запуск скрипта /update.php - это второй простой способ очистить кэш. Если вы не можете войти в систему, или не имеете прав пользователя администратор (ИД пользователя администратор - 1), следует установить переменную $update_free_access = TRUE; в файле /sites/default/settings.php, после чего снова запустить /update.php. После очитки кэша не забудьте вернуть переменную $update_free_access в значение FALSE.

php код для очистки кэша

Также PHP код может удалить не только кэш, а и важные данные данные, поэтому внимательно выполняйте SQL комманды вида DELETE FROM. Следующий маленький скрипт очистит кэш.

<?php
  db_query("DELETE FROM {cache};");
?>

Также можно выполнить следующую команду:

<?php
  drupal_flush_all_caches();
?>

Очистка кэша напрямую из базы.

Для того чтоб это слелать, вам нужно иметь навыки в работе с СУБД (системами управления базами данных), поэтому если вы не сильны в этом - ограничтесь предыдущими вариантами очистки кэша.

Зайдите в phpmyadmin, или консольную утилиту mysql (если вы работаете c PostgreSQL, или SQLite - принцип тот-же).

Очистите таблицы (обратите внимание ОЧИСТИТЕ, а не удалите), имена которых начинаются с cache_.

Модуль Devel

Очистка кэша Drupal при помощи модуля Devel

Модуль Devel делает уднобным очистку кэша в Drupal. Установите модуль и включите блок разработчика, из которого будет удобно очистить кэш.

Модуль Admin_menu

Модуль admin_menu имеет множество упрощающих жизнь админа функций, в том числе для очистки кэша. Также а модуле admin_menu имеюстя ссылки на cron и update.php.

Drush

Drush - это очень мощная административная утилита, пердназначенная для обслуживания Drupal сайта из коммандной строки. Выполните следующий код для очистки кэша:

drush cc all

Файл PHP для очистки кэша

Используя данный метод будьте предельно осторожны, так как если злоумышленник узнает про существование файла, он бнзпрепятственно сможет очистить кэш вашего сайта.

Создайте файл называющийся, например cc.php, расположенный внутри дерева сайта, можно и в корне - главное, чтоб никто посторонний не узнал про его существование. Содержимое файла должно быть следующее:

Drupal 6

<?php
include_once './includes/bootstrap.inc';
drupal_bootstrap(DRUPAL_BOOTSTRAP_FULL);
drupal_flush_all_caches();
?>

Drupal 7

<?php
// define static var
define('DRUPAL_ROOT', getcwd());
// include bootstrap
include_once('./includes/bootstrap.inc');
// initialize stuff
drupal_bootstrap(DRUPAL_BOOTSTRAP_FULL);
// clear cache
drupal_flush_all_caches();
?>

 

Тэги: 

Добавить комментарий

You must have Javascript enabled to use this form.

Статьи по теме:

  •  
  • 1 из 10