Подключение к Memcached на виртуальном хостинге

Как настроить доступ к Memcached в популярных CMS на виртуальном хостинге.

На виртуальном хостинге доступ к Memcached осуществляется через сокет. Поддерживаются расширения PHP memcache и memcached. По умолчанию каждому пользователю выделяется 32 МБ памяти — при необходимости лимит можно увеличить через тикет-систему.

Путь к сокету зависит от используемого расширения PHP.

Для расширения php-memcache:

Путь к сокету: unix:///корневой_каталог_пользователя/.memcached/memcached.sock
Порт подключения: 0

Для расширения php-memcached:

Путь к сокету: корневой_каталог_пользователя/.memcached/memcached.sock
Порт подключения: 0

Корневой каталог пользователя указан на главной странице cPanel в разделе «Основная информация».

Основная информация в cPanel Основная информация в cPanel

Joomla 5

Joomla поддерживает Memcached из коробки — дополнительные плагины не требуются.

Авторизуйтесь в админ-панели и перейдите в «Система»«Общие настройки»«Система». В настройках кэширования укажите:

  • Cache HandlerMemcached
  • Memcache(d) Server Hostкорневой_каталог_пользователя/.memcached/memcached.sock
  • Memcache(d) Server Port11211

Настройки кэширования в Joomla Настройки кэширования в Joomla

Нажмите Сохранить.

WordPress

WordPress не поддерживает Memcached нативно, но его можно подключить через плагин W3 Total Cache.

В настройках плагина на вкладке General Settings в поле Page Cache Method выберите Memcached.

W3 Total Cache — General Settings W3 Total Cache — General Settings

Затем перейдите на вкладку Page CacheAdvanced и в поле Memcached hostname:port / IP:port укажите:

корневой_каталог_пользователя/.memcached/memcached.sock:0

W3 Total Cache — Page Cache W3 Total Cache — Page Cache

OpenCart

OpenCart поддерживает Memcached встроенными средствами.

OpenCart 3.0 — добавьте в конец файлов config.php и admin/config.php:

define('CACHE_HOSTNAME', '/home/ВАШ_АККАУНТ/.system/memcache/socket');
define('CACHE_PORT', '0');
define('CACHE_PREFIX', 'oc_');

OpenCart 2.2–2.3 — добавьте в оба конфигурационных файла:

define('CACHE_HOSTNAME', 'unix:///home/ВАШ_АККАУНТ/.system/memcache/socket');
define('CACHE_PORT', '0');
define('CACHE_PREFIX', 'oc_');

В файле system/config/default.php замените:

$_['cache_type'] = 'file';

на:

$_['cache_type'] = 'mem';

Bitrix

Bitrix поддерживает Memcached через расширение php-memcache, доступное только для PHP 5.3–5.6.

Добавьте в файл bitrix/php_interface/dbconn.php:

define("BX_CACHE_TYPE", "memcache");
define("BX_CACHE_SID", $_SERVER["DOCUMENT_ROOT"]."#01");
define("BX_MEMCACHE_HOST", "unix:///корневой_каталог_пользователя/.memcached/memcached.sock");
define("BX_MEMCACHE_PORT", "0");

Добавьте в файл bitrix/.settings_extra.php:

<?php
return array(
  'cache' => array(
    'value' => array(
      'type' => 'memcache',
      'memcache' => array(
        'host' => 'unix:///корневой_каталог_пользователя/.memcached/memcached.sock',
        'port' => '0',
      ),
      'sid' => $_SERVER["DOCUMENT_ROOT"]."#01"
    ),
  ),
);

Если файла bitrix/.settings_extra.php не существует — создайте его вручную.

DLE

DLE поддерживает Memcached встроенными средствами.

В админ-панели перейдите в «Настройка системы»«Оптимизация». В поле «Тип кэширования на сайте» выберите Memcache, а в поле «Данные для подключения к Memcache серверу» укажите:

корневой_каталог_пользователя/.memcached/memcached.sock

Drupal

Drupal не поддерживает Memcached нативно — сначала установите модуль Memcache и активируйте его в разделе «Расширения».

Drupal 7 — добавьте в конец файла /sites/default/settings.php (замените ваш_логин на имя аккаунта):

$conf['cache_backends'][] = 'sites/all/modules/memcache/memcache.inc';
$conf['lock_inc'] = 'sites/all/modules/memcache/memcache-lock.inc';
$conf['memcache_stampede_protection'] = TRUE;
$conf['cache_default_class'] = 'MemCacheDrupal';
$conf['cache_class_cache_form'] = 'DrupalDatabaseCache';
$conf['page_cache_without_database'] = TRUE;
$conf['page_cache_invoke_hooks'] = FALSE;
$conf['memcache_servers'] = array('unix:///home/ваш_логин/.memcached/memcached.sock' => 'default');

Drupal 8+ — добавьте в файл settings.php:

$settings['memcache']['servers'] = ['unix:///home/ваш_логин/.memcached/memcached.sock' => 'default'];
$settings['memcache']['bins'] = ['default' => 'default'];
$settings['memcache']['key_prefix'] = '';
$settings['cache']['default'] = 'cache.backend.memcache';

Помощь

Если у вас возникли вопросы или требуется помощь, пожалуйста, свяжитесь с нами через систему тикетов — мы обязательно вам поможем!

Обновлено:
Нужна помощь?Наши инженеры бесплатно помогут с любым вопросом за считанные минутыНаписать нам