Найти в Дзене

Как настроить memcached в 1С-Битрикс или отправь свой сайт в космос

Для настройки memcached для сайтов 1С-Битрикс требуется переходим на страницу phpinfo.php и по поиску ищем memcache и memcached если данных пунктов нет или доступен только memcache требуется обратится к разработчику для установки данных библиотек тут мы будет смотреть и проверять настроили ли мы все верно, нажимаем на вкладку Битрикс и обращаем внимание на пункт: Хранение кеша обычно он в режиме Файлы для настройка требуется перейди в директорию bitrix и создать файл .settings_extra.php которого скорее всего нет, и добавляем данный код в файл: <?php
return array (
'cache' => array(
'value' => array (
'type' => 'memcached',
'memcached' => array(
'host' => '127.0.0.1',
'port' => '11211'
),
'sid' => $_SERVER["DOCUMENT_ROOT"]."#01"
),
),
);
?> Важно Чтобы удостовериться в полностью рабочем memcached можете загрузить мой файл скрипт в корень сайта и запустить его, он проверит работоспособность и выдаст такой результат: На этом все, ваш сайт будет работать достаточн

Для настройки memcached для сайтов 1С-Битрикс требуется

  1. Проверить установлен ли memcache и memcached в PHP, проверить это можно зайдя через админку сайта: Настройки - Производительность - PHP нажимаем Настройки PHP

переходим на страницу phpinfo.php и по поиску ищем memcache и memcached если данных пунктов нет или доступен только memcache требуется обратится к разработчику для установки данных библиотек

Проверяем, установлены ли библиотеки memcache и memcached
Проверяем, установлены ли библиотеки memcache и memcached
  1. После того как выяснили что все установлено, переходим в настройки 1С-Битрикс: Настройки - Производительность - Панель производительности

тут мы будет смотреть и проверять настроили ли мы все верно, нажимаем на вкладку Битрикс и обращаем внимание на пункт: Хранение кеша обычно он в режиме Файлы для настройка требуется перейди в директорию bitrix и создать файл .settings_extra.php которого скорее всего нет, и добавляем данный код в файл:

<?php
return array (
'cache' => array(
'value' => array (
'type' => 'memcached',
'memcached' => array(
'host' => '127.0.0.1',
'port' => '11211'
),
'sid' => $_SERVER["DOCUMENT_ROOT"]."#01"
),
),
);
?>

Важно

  1. Указать memcached не memcache так как это старая версия
  2. В SID если у вас многосайтовость, тогда убираем $_SERVER["DOCUMENT_ROOT"] оставляем только ID сайта, обычно это #s1 или #01 сохраняем файл и смотрим в админке тут: Настройки - Производительность - Панель производительности и видим что Хранение кеша переключился с Файла на cacheenginememcached
Проверяем настройки подлкючения memcached
Проверяем настройки подлкючения memcached

Чтобы удостовериться в полностью рабочем memcached можете загрузить мой файл скрипт в корень сайта и запустить его, он проверит работоспособность и выдаст такой результат:

Проверочный скрипт работает ли memcached от LazarovStudio
Проверочный скрипт работает ли memcached от LazarovStudio

На этом все, ваш сайт будет работать достаточно быстрее чем раньше

Обновление от 01 октября 2025

На одном из проектов встал вопрос, отключить админ-панели от Memcached, но оставить Фронт сайта на Memcached и композитный режим, все достаточно просто, идем в тот же файл .settings_extra.php и вносим правки:


<?php
// Определяем тип кеша в зависимости от URL
$isAdmin = false;
if (isset($_SERVER['REQUEST_URI']) && str_contains($_SERVER['REQUEST_URI'], '/bitrix/')) {
$isAdmin = true;
}

// Конфигурация для админ-панели
$adminCacheConfig = array(
'type' => 'file',
'sid' => $_SERVER["DOCUMENT_ROOT"]."#s2"
);

// Конфигурация для фронтенда
$frontendCacheConfig = array(
'type' => 'memcached',
'memcached' => array(
'host' => 'localhost',
'port' => '11211'
),
'sid' => $_SERVER["DOCUMENT_ROOT"]."#s2"
);

return array (
'cache' => array(
'value' => $isAdmin ? $adminCacheConfig : $frontendCacheConfig
),
);
?>

Данный код будет отключать для админ-панели memcached, если зайти по пути: Настройки - Производительность - Панель производительности и видим что Хранение кеша переключился с cacheenginememcached на cacheenginenone, не переживайте, сам сайт все так же работает как работал на cacheenginememcached и загрузка все так же быстрая, вы можете загрузить мой скрипт и проверить работоспособность memcached.

Еще способ проверить что memcached все так же работает, заходим: Настройки - Настройки продукта - Композитный сайт - Настройки, внизу выбираем доступный вариант memcached, прописываем Хост: 127.0.0.1 или localhost, порт всегда один: 11211.

Нажимаем "Проверить соединение" видим зеленую надпись, значит все работает

Проверка работоспособности Memcached
Проверка работоспособности Memcached