Как подключить Memcached в Webasyst

Webasyst поддерживает механизм кеширование с помощью Memcached.

Для включения создайте файл wa-config/cache.php со следующим содержимым:

<?php
return array(
    'default' => array(
        'type' => 'memcached',
        'servers' => array(
            array(
                'host' => HOST, //укажите нужное значение
                'port' => PORT, //укажите нужное значение
            ),
        )
    )
);

Если секцию 'servers' не указать, то обращение будет выполняться к адресу 127.0.0.1:11211.

См. также документацию разработчика о настройке кеширования.

18 комментариев

  • +2
    Greg Greg 7 января 2016 07:41 #

    Добрый день, пытаюсь настроить memcached после cache.php сайт не откликается, сервис работает, прописал

    <?php

    return array(

    'default' => array(

    'type' => 'memcached',

    'servers' => array(

    array(

    'host' => '127.0.0.1',

    'port' => '11211'

    ),

    )

    )

    );

    [root@elegno ~]# systemctl status memcached

    memcached.service - Memcached

    Loaded: loaded (/usr/lib/systemd/system/memcached.service; enabled; vendor preset: disabled)

    Active: active (running) since Thu 2016-01-07 12:19:08 MSK; 13min ago

    Main PID: 2859 (memcached)

    CGroup: /system.slice/memcached.service

    </pre>

    └─2859 /usr/bin/memcached -u memcached -p 11211 -m 4096 -c 2048 -l 127.0.0.1


    PHP Fatal error: Class 'Memcached' not found in /var/www/greg/data/www/pergo-shop.ru/wa-system/cache/adapters/waMemcachedCacheAdapter.class.php on line 20

  • +1
    Виталий Валерьевич Виталий Валерьевич 20 сентября 2016 13:49 #

    Подскажите где узнать свой

    'host' => HOST,

    'port' => PORT

    на vps

  • +1
    Silicoid Silicoid 23 января 2017 16:05 #

    господа. При попытке врубить мемкэш php падает с 500й ошибкой. при этом в логах появляется вот такая запись

    PHP Fatal error: Class 'waMemcachedCacheAdapter' not found in /var/www/sitename.ru/data/www/sitename.ru/wa-system/config/waAppConfig.class.php on line 66


    подскажите, где пилить

    • +2
      Silicoid Silicoid 23 января 2017 16:24 #

      Апд. Уже не актуально.
      я зевнул и вместо
      yum install php-pecl-memcached

      заинсталлил
      yum install php-pecl-memcache

      а такого драйвера нет


    • +1

      На VDS с ISPManager работает так

      <?php
      return array(
          'default' => array(
              'type' => 'memcached',
              'servers' => array(
                  array(
                      'host' => localhost, //укажите нужное значение
                      'port' => 11211, //укажите нужное значение
                  ),
              )
          )
      );
    • +2

      Установка memcached-сервера на Ubuntu через терминал

      apt-get install memcached

      Установка расширения PHP

      apt-get install php-memcached

      Перезагрузка сервера

      reboot

      Тестируем. Создайте файл PHP, например mem.php с содержимым:


      <?php
      
      $memcached = new Memcached();
      $memcached->addServer('localhost', 11211);
      
      $memcached->set('key', 'webasyst');
      
      echo $memcached->get('key'); // Если всё ок, то результат на экране выведет webasyst

      Откройте его в браузере, если memcached работает, вы увидите результат, если нет, ройте в поддержке

    • -1
      Site Site 20 февраля 2018 19:49 #

      Fatal error: Class 'Memcached' not found in /home/users/z/zmefxre/domains/..........ru/wa-system/cache/adapters/waMemcachedCacheAdapter.class.php on line 20


    • 0
      Site Site 20 февраля 2018 19:50 #

      Parse error: syntax error, unexpected '.0' (T_DNUMBER), expecting ')' in /home/users/z/zmefxrep/pimex/domains/..........ru/wa-config/cache.php on line 7

    • +1
      Site Site 21 мая 2018 12:19 #

      сейчас файл /wa-data/сache.php содержит такой код:

      <?php

      return array(

      'default' => array(

      'type' => 'memcached',

      'servers' => array(

      array(

      'host' => 10.0.0.111, //укажите нужное значение

      'port' => 53594, //укажите нужное значение

      ),

      )

      )

      );

    • +1
      Site Site 21 мая 2018 12:19 #

      сейчас ошибок нет. но и не ясно а работает ли вообще ?

    • +1
      Site Site 21 мая 2018 12:22 #

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

      Здесь и далее X в имени директории usersX может быть целым числом (1, 2, ...) или вообще отсутствовать. Точное значение для вашего аккаунта уточняйте в разделе «Хостинг / Техподдержка / Техническая информация» контрольной панели аккаунта.

      Альтернативный вариант — использовать для подключения IP и порт Memcached-сервера. Для каждого аккаунта эти параметры различаются: их значение также можно узнать в разделе «Хостинг / Техподдержка / Техническая информация» контрольной панели аккаунта.

      Пример подключения к Memcached из PHP:

      <?php
      $m = new Memcache;
      $m->connect(
          'unix:///home/usersX/первая_буква_логина/логин/memcached/memcached.sock',
          0
      );
      $m->set('key', 'value');
      echo $m->get('key');
      ?>

      Аналогичный пример на языке Python:

      import memcache
      m = memcache.Client([
          'unix:///home/usersX/первая_буква_логина/логин/memcached/memcached.sock'
      ])
      m.set('key', 'value')
      print m.get('key')

      И на Perl:

      use Cache::Memcached;
      my $m = Cache::Memcached->new({servers => [
          '/home/usersX/первая_буква_логина/логин/memcached/memcached.sock'
      ]});
      $m->set('key', 'value');
      print $m->get('key'); 

      С более подробной документацией вы можете ознакомиться здесь: PHP, Python, Perl.

    • +1
      Site Site 21 мая 2018 12:22 #

      в итоге как правильно и как проверить ?

    • +1
      Site Site 21 мая 2018 12:35 #

      данные сервера:

      Путь к Memcached-сокетуunix:///home/users/r/rotmel/memcached/memcached.sock
      IP Memcached-сервера10.0.0.111
      Порт Memcached-сервера53947
    • +1
      Antonio Antonio 29 августа 2019 15:37 #

      Создал файл wa-config/cache.php. Не работает. Сайт выдаёт ошибку 500

      <?php
      return array(
      'default' => array(
      'type' => 'memcached',
      'servers' => array(
      array(
      'host' => 'unix:///home/c/мой-логин/.memcached.sock',
      'port' => '0',
      ),
      )
      )
      );

      В чём может быть дело?

      Добавить комментарий

      Чтобы добавить комментарий, зарегистрируйтесь или войдите