hosting:cms:other:dle:memcached

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

DLE умеет работать с Memcache, но в её скриптах есть изъян, не позволяющий указать адрес Memcache в виде unix-сокета.

Чтобы включить поддержку Memcache в DLE:

  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. Проверьте работу сайта.
  • hosting/cms/other/dle/memcached.txt
  • Последнее изменение: 2020/06/03 17:30
  • zinenko