Jump to main content Jump to doc navigation

Требования

Для начала вам понадобится следующее:

  • Работающий сервер memcached и адрес, на котором он работает
  • Расширение PHP memcached, установленное на сервере с MODX

Настройка Memcache в MODX

Перейдите в системные настройки и измените системный параметр cache_handler на cache.xPDOMemCache.

Если на вашем сервере имеется более одного сайта MODX с обработчиком кэша cache.xPDOMemCache, вам необходимо создать новый системный параметр cache_prefix со значением, например yoursite_, чтобы различать ключи кэша для разных сайтов.

Если ваш сервер memcached находится на отдельном сервере, вы можете установить путь к нему с помощью системного параметра resource_memcached_server со значением, например «memcache.tld: 121212»

Возможные трудности

Решение проблемы получения пустых значений системных настроек с помощью:

$modx->getOption('system_field')

Для чтения системных настроек из базы данных требуется инициализация MODx. Инициализация требует предварительного чтения конфигов. Получается — пока MODX не получил данные из базы данных, он использует конфиги файловые, в том числе и значения по умолчанию. А так как настройка cache_handler=cache.xPDOMemCached хранится в базе данных, то в момент инициализации MODX еще ничего о ней не знает, и соответственно использует стандартный файловый кеш-провайдер. И получив настройки из БД, он только потом начинает использовать Memcached. Но до этого успевает записать конфиги в файлы, и каждый раз при старте читает конфиги из файлов.

Чтобы этого не происходило и чтобы он сразу использовал Memcached, необходимо в core/config/config.inc.php в $config_options прописать:

$config_options = array (
    "cache_handler" => "cache.xPDOMemCached",
);

Смотрите также

Support the team building MODX with a monthly donation.

The budget raised through OpenCollective is transparent, including payouts, and any contributor can apply to be paid for their work on MODX.

Backers

  • modmore
  • modmore
  • Jens Wittmann – Gestaltung & Entwicklung
  • Raffy
  • eydolan
  • Digital Penguin
  • Fabian Christen
  • Dannevang Digital
  • deJaya
  • Sepia River Studios
  • Following Sea
  • Anton Tarasov
  • Lefthandmedia
  • Nick Clark
  • Chris Fickling
  • Murray Wood
  • YJ
  • CrewMark
  • Richard

Budget

$305 per month—let's make that $500!

Learn more