Глобальные системные переменные в Drupal. Конфигурация Drupal для тестовой системы и снапшот рабочей базы

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

Для копии системы - для нормальной отладки будут нужны совсем другие параметры модулей, например отключенный кеш, другой каталог для веременных файлов и так далее. Каждый раз при заливе свежего снапшота базы на тестовый сервер заново делать изменения конфигурации? Нет, есть другой путь.

Большинство модулей хранят свои параметры в переменных системы, которе извлекают и сохраняют функцими variable_get() и variable_set() соответсвенно.

Заглянем внутрь variable_get()

function variable_get($name, $default) {
  global $conf;
  return isset($conf[$name]) ? $conf[$name] : $default;
}
 

Здесь $conf - наполняется при загрузке скриптов системы.

Однако. Если в settings.php переопредилить значения записей этой глобальной переменной, то система будет их считать основными значениями и использовать в работе.

Таким образом, например, если мне лень каждый раз заново выставлять временной каталог, и указыывать, что я не хочу полностраничное кеширование для копии сайта, которую использую для задач разработки, то достаточно в  settings.php прописать:

$conf['cache'] = 0;
  $conf['file_directory_temp'] = '/tmp';
 

И тогда эти параметры система возьмет как основные и можно не проходиться по административным разделам системы для правок значений.

То же верно для пользовательских модулей. Мало ли какие значения отличатся от "боевых".

Полезные рабочие параметры при переносе сайтов в Drupal 6

file_directory_temp - каталог временных файлов для Drupal. Если неверный каталог указан в базе - система сразу будет некорректно работать.

file_directory_path -  каталог файлов Drupal нужный ему для работы.

smtp_library - позволяет выбрать обработчик отправки почты. Очень важна, при совместной работе модулей Mime Mail  и smtp, поскольку если не прописать в settings.php 

$conf['smtp_library'] = 'sites/all/modules/smtp/smtp.module';

то без этой волшебной строчки сайту может стать очень мучительно больно. :)

Полезные рабочие параметры при переносе сайтов в Drupal 7

file_directory_temp - каталог временных файлов для Drupal. Если неверный каталог указан в базе - система сразу будет некорректно работать.

file_default_scheme - public или private - способ хранения и отдачи файлов пользователю по умолчанию.

file_public_path -  каталог публичных файлов.

file_private_path - каталог с приватными файлами недоступными для пользователей через HTTP,

 

// по мере необходимости добавлю еще полезностей для памятки.

Комментарии