Отключить кеширование в базе

Главные вкладки

Аватар пользователя Dark_kz Dark_kz 12 февраля 2011 в 10:41

Приветствую!
Возникла такая проблема. Включил на странице производительности кэширование css и javascript.
Сайт перестал отображаться. Просто белый экран, никаких сообщений об ошибках (хотя опцию в php включена). В логах пусто

Где в базе отключается эта опция?
Спасибо

Комментарии

Аватар пользователя axel axel 31 августа 2012 в 10:40

В таблице variable очевидно. Я думаю это оно:

mysql> select * from variable where name like '%js%'\G
[...]
*************************** 3. row ***************************
 name: preprocess_js
value: i:1;

mysql> select * from variable where name like '%css%'\G
[...]
*************************** 2. row ***************************
 name: preprocess_css
value: i:1;

Тогда:

UPDATE variable SET VALUE='i:0' WHERE name IN ('preprocess_css', 'preprocess_js');

Потом ещё почистите таблицы кешей.

Аватар пользователя axel axel 31 августа 2012 в 11:23

cinderella wrote:
на друпал 7 variable имеет blob формат

Вопрос был про D6, но в данном случае неважно blob это или varchar. Синтаксис апдейта — как я описал выше.

Аватар пользователя axel axel 31 августа 2012 в 11:26

Ок, описываю подробнее. Сделать UPDATE, затем почистить кеши (опционально) и регистр тем. Из командной строки, если установлен drush:

$ drush cc all
$ drush cc theme-registry

Если драша нет, то в settings.php можно принудительно выбрать другую рабочую тему:

<?php
$conf = array(
'theme_default' => 'garland',
);
?>

Затем зайти в настройки тем и пересохранить их, также зайти в настройки производительности и почистить кеши. Рецепт пригоден для D6 и D7.

Аватар пользователя axel axel 31 августа 2012 в 11:33

Для D7 нашел отличия. Появились переменные drupal_css_cache_files и drupal_js_cache_files. Рекомендую дополнительно сделать:

DELETE FROM variable WHERE name IN ('drupal_css_cache_files', 'drupal_js_cache_files');
Аватар пользователя axel axel 31 августа 2012 в 13:46

cinderella wrote:
UPDATE variable SET VALUE='i:0' WHERE name IN ('page_compressionge_compression');
помогло это + удаление данных таблиц кэша

Вопрос был про агрегацию css и js, я отвечал на него. Ага, на компрессию другая переменная, что ты указала. Общий принцип такой, что все эти переключалки режимов из админки хранятся чаще всего в variable, поэтому ищем select * from variable name like '%подходящееимя%' и меняем, булевы значения друпал сериализует как целые, а хранит как строки i:1 — включено, i:0 — выключено, затем чистим любым способом все кеши и реестр тем.