2.13.10.1.2. Настройка Memcache(d) в DLE

Способ настройки Memcache(d) отличается в разных версиях DLE.

  1. Откройте админ-панель сайта.
  2. Перейдите в раздел «Настройки скрипта → Настройка системы».
  3. Переключитесь на вкладку «Оптимизация».
  4. Задайте следующие настройки и сохраните изменения:
    • «Включить кеширование на сайте» — включите опцию.
    • «Тип кеширования на сайте» — выберите «Memcache».
    • «Данные для подключения к Memcache или Redis серверу» — вставьте путь к сокету Memcached, скопированный из второй строки страницы с настройками Memcache(d) в панели управления (путь без префикса unix:// в начале).
  5. Проверьте работу сайта и статистику использования Memcache(d).
Старые версии DLE умеют работать с Memcache, но в их скриптах есть изъян, не позволяющий указать адрес Memcache в виде unix-сокета.
  1. Откройте файл 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);
            }
        }
    }
  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);
            }
        }
    }
  3. Откройте админ-панель сайта.
  4. Перейдите в раздел «Настройка системы → Оптимизация».
  5. В поле «Данные для подключения к Memcache-серверу» укажите unix:///home/example/.system/memcache/socket, подставив вместо example название хостинг-аккаунта, в котором размещён ваш сайт.
  6. Сохраните изменения.
  7. Проверьте работу сайта и статистику использования Memcache(d).
Содержание