Memcached и форум phpbbex

Список разделов phpBBex 1.x (поддерживается) Поддержка 1.x

Описание: У вас проблемы с phpBBex 1.x и вам необходима помощь? Спрашивайте здесь!
Правила раздела: Одна тема — один вопрос или группа связанных вопросов. Обязательно формируйте внятный заголовок, максимально отражающий суть вопроса. Подробно описывайте проблему. Не забудьте указать версию phpBBex и какие моды установлены, по возможности добавьте скриншоты проблемы или ссылку на страницу с проблемой.
Модератор: Поддержка

Сообщение #21 Sumanai » 05.02.2015, 16:02

NO SWEAR:но остались пикообразные скачки запросов к базе
Скорее всего кеш очищается.
NO SWEAR:Кто может пояснить для чего он нужен?
Этот файл используется при указании типа кеширования как memcache, то есть он используется у вас.
Sumanai M
Аватара
Репутация: 1677
С нами: 11 лет 2 месяца

Сообщение #22 NO SWEAR » 05.02.2015, 17:48

Спасибо за пояснение. И есть еще проблема с этим мемкеш а именно необходимость указания сокета а не ип и порта. для основного сайта я нашел решение. он у меня на дле и вот копипаста оттуда если кому то вдруг нужно.Я проверил на своем сайте, все работает нормально и ошибок в логах нет.
Спойлер
Подключение к Memcached в DLE

Эта CMS умеет работать с memcache, но в её скриптах есть изъян не позволяющий указать адрес мемкеша в виде unix-сокета. Для исправления ситуации - откройте файл /engine/modules/functions.php и найдите в нём вот такую конструкцию:
Код: Выделить всё
$mcache = false;
if ( $config['cache_type'] ) {
if ( function_exists('memcache_connect') ) {
$memcache_server = explode(":", $config['memcache_server']);
$mcache = @memcache_connect( $memcache_server[0], $memcache_server[1] );
if( $mcache AND function_exists('memcache_set_compress_threshold') )
{
memcache_set_compress_threshold( $mcache, 20000, 0.2 );
}
}
}

Её нужно заменить на:
Код: Выделить всё
$mcache = false;
if ( $config['cache_type'] ) {
if ( function_exists('memcache_connect') ) {
$memcache_server = explode(":", $config['memcache_server']);
if ($memcache_server[0] == 'unix')
{
$memcache_server = array($config['memcache_server'], 0);
}
$mcache = @memcache_connect( $memcache_server[0], $memcache_server[1] );
if( $mcache AND function_exists('memcache_set_compress_threshold') )
{
memcache_set_compress_threshold( $mcache, 20000, 0.2 );
}
}
}

После этих изменений зайдите в админ-панель сайта и в разделе “Настройка системы” — “Оптимизация”, поле “Данные для подключения к Memcache серверу” И укажите путь к сокету без указания порта:
unix:///home/имя_пользователя/.system/memcache/socket - тут нужно использовать тот путь что указан у вас на хостинге!!!

После сохранения DLE без каких-либо проблем начнёт использовать мемкеш через сокет.

Осталось понять как заставить работать форум через сокет. Так как выше по теме указанные способы не работают и вызывают массу ошибок по мемкеш + плывет разметка если попробовать открыть в другом браузере.

Добавлено спустя 6 часов 34 минуты:
Посветил этому вопросу вечер. В итоге разобрался что к чему. В принципе форум работает с memcache нужно только указать нужный тип кеширования в config.php файловый или через модули будь то memcache или apc,eaccelerator, xcache. Но шаблоны всё равно будут кешироватся. Уж так сделано на phphbb. Вот собственно итог этой истории.

Добавлено спустя 1 минуту 21 секунду:
NO SWEAR:Осталось понять как заставить работать форум через сокет
никак.

Добавлено спустя 4 минуты 6 секунд:
оставил пока так. посмотрю что получится.
NO SWEAR M
Автор темы
Аватара
Репутация: 115
С нами: 11 лет 7 месяцев

Сообщение #23 Sumanai » 06.02.2015, 00:32

NO SWEAR:Но шаблоны всё равно будут кешироватся.
Я об этом писал с самого начала:
Sumanai:шаблонов (впрочем, они всё равно хранятся в файлах),
Sumanai M
Аватара
Репутация: 1677
С нами: 11 лет 2 месяца

Пред.

Вернуться в Поддержка 1.x