Подключение к memcached на виртуальном хостинге
Инструкция по настройке доступа к memcached в популярных CMS на виртуальном хостинге.
На виртуальном хостинге доступ к Memcached осуществляется через сокет, поддерживаются расширения PHP memcache и memcached. По умолчанию каждому пользователю выделяется 32 MB памяти. При необходимости лимит можно увеличить, обратившись в тикет-систему.
В зависимости от используемого расширения PHP путь к сокету указывается по-разному:
Для расширения php-memcache:
Путь к сокету: unix:///корневой_каталог_пользователя/.memcached/memcached.sock
Порт подключения: 0
Для расширения php-memcached:
Путь к сокету: корневой_каталог_пользователя/.memcached/memcached.sock
Порт подключения: 0
Корректный корневой каталог пользователя можно посмотреть на главной странице cPanel в разделе Основная информация.
Подключение Memcached в Joomla 5
Так как CMS изначально поддерживает работу с Memcached, установка дополнительных плагинов не требуется.
Авторизуйтесь в админ-панели Joomla и перейдите в раздел Система → Общие настройки → Система. В настройках кеширования и сессий укажите:
- Cache Handler —
Memcached
- Memcache(d) Server Host —
корневой_каталог_пользователя/.memcached/memcached.sock
- Memcache(d) Server Port —
11211
Для применения настроек нажмите Сохранить.
Подключение Memcached в WordPress
WordPress не имеет встроенной поддержки Memcached, но можно использовать плагины. Один из самых популярных — W3 Total Cache.
Перейдите в настройки плагина во вкладку General Settings. В поле Page Cache Method выберите Memcached.
Затем для каждого типа кеширования необходимо указать параметры доступа. Перейдите во вкладку Page Cache → Advanced и в поле Memcached hostname:port / IP:port укажите:
корневой_каталог_пользователя/.memcached/memcached.sock:0
Подключение Memcached в 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';
Подключение Memcached в 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 нет, создайте его вручную.
Подключение Memcached в DLE
В DLE поддержка Memcached встроена. Чтобы её включить: Перейдите в админ-панель сайта → Настройка системы → Оптимизация. В поле Тип кеширования на сайте выберите Memcache, а в параметре Данные для подключения к Memcache серверу укажите:
корневой_каталог_пользователя/.memcached/memcached.sock
Подключение Memcached в Drupal
Drupal 7
Drupal не имеет встроенных инструментов для работы с Memcached, поэтому сначала нужно установить модуль Memcache.
После установки активируйте его в разделе «Расширения» и добавьте в конец файла /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';
// The 'cache_form' bin must be assigned to non-volatile storage.
$conf['cache_class_cache_form'] = 'DrupalDatabaseCache';
// Don't bootstrap the database when serving pages from the cache.
$conf['page_cache_without_database'] = TRUE;
$conf['page_cache_invoke_hooks'] = FALSE;
$conf['memcache_servers'] = array('unix:///home/ваш_логин/.memcached/memcached.sock' => 'default');
Drupal 8+
// Memcache configuration
$settings['memcache']['servers'] = ['unix:///home/ваш_логин/.memcached/memcached.sock' => 'default'];
$settings['memcache']['bins'] = ['default' => 'default'];
$settings['memcache']['key_prefix'] = '';
$settings['cache']['default'] = 'cache.backend.memcache';
Помощь
Если у вас возникли трудности или потребуется помощь, создайте запрос в службу поддержки через тикет-систему, и мы с радостью поможем.