Webasyst поддерживает механизм кеширование с помощью Memcached.
Для включения создайте файл wa-config/cache.php со следующим содержимым:
<?php return array( 'default' => array( 'type' => 'memcached', 'namespace' => '...', 'servers' => array( array( 'host' => HOST, //укажите нужное значение 'port' => PORT, //укажите нужное значение ), ) ) );
Укажите произвольный идентификатор в значении ключа 'namespace', чтобы избежать конфликтов при использовании нескольких сайтов на одном сервере.
Если секцию 'servers' не указать, то обращение будет выполняться к адресу 127.0.0.1:11211.
См. также документацию разработчика о настройке кеширования.
25 комментариев
Добрый день, пытаюсь настроить memcached после cache.php сайт не откликается, сервис работает, прописал
<?php
return array(
'default' => array(
'type' => 'memcached',
'servers' => array(
array(
'host' => '127.0.0.1',
'port' => '11211'
),
)
)
);
└─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
Подскажите где узнать свой
'host' => HOST,
'port' => PORT
на vps
Посмотрите тут: http://seyferseed.ru/ru/linux/nastrojka-memcached-v-debian-dlya-php-na-neskol-kih-serverah.html#sthash.b0tJvLxs.dpbs
господа. При попытке врубить мемкэш 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
подскажите, где пилить
Апд. Уже не актуально.
я зевнул и вместо
yum install php-pecl-memcached
заинсталлил
yum install php-pecl-memcache
а такого драйвера нет
На VDS с ISPManager работает так
Установка memcached-сервера на Ubuntu через терминал
Установка расширения PHP
Перезагрузка сервера
Тестируем. Создайте файл PHP, например mem.php с содержимым:
Откройте его в браузере, если memcached работает, вы увидите результат, если нет, ройте в поддержке
Fatal error: Class 'Memcached' not found in /home/users/z/zmefxre/domains/..........ru/wa-system/cache/adapters/waMemcachedCacheAdapter.class.php on line 20
Возможно, у вас не установлено расширение memcached для PHP.
Parse error: syntax error, unexpected '.0' (T_DNUMBER), expecting ')' in /home/users/z/zmefxrep/pimex/domains/..........ru/wa-config/cache.php on line 7
Нужно видеть содержимое вашего файла, чтобы предположить причину ошибки.
Для подключения к Memcached используйте следующий адрес сокета unix:///home/usersX/первая_буква_логина/логин/memcached/memcached.sock и порт 0.
Здесь и далее X в имени директории usersX может быть целым числом (1, 2, ...) или вообще отсутствовать. Точное значение для вашего аккаунта уточняйте в разделе «Хостинг / Техподдержка / Техническая информация» контрольной панели аккаунта.
Альтернативный вариант — использовать для подключения IP и порт Memcached-сервера. Для каждого аккаунта эти параметры различаются: их значение также можно узнать в разделе «Хостинг / Техподдержка / Техническая информация» контрольной панели аккаунта.
Пример подключения к Memcached из PHP:
Аналогичный пример на языке Python:
И на Perl:
С более подробной документацией вы можете ознакомиться здесь: PHP, Python, Perl.
Здравствуйте. "Для включения создайте файл wa-config/cache.php" - напишите, пожалуйста, подробнее путь где создавать файл.
Это и есть путь к файлу — относительно директории, в которой установлен Webasyst на вашем сервере. Уточните путь к этой директории в службе поддержки хостинга.
Напишите, пожалуйста, что писать в файле wa-config/cache.php при подключении через сокет.
Вот такая конструкция не работает:
Выглядит правильно. Поищите причину в чём-то другом: или путь указан неверный, или, может быть, расширение memcached не установлено на сервере.
Неправильно. путь с "unix://" корректен для модуля memcache, а для memcached следует использовать без "unix://"
https://www.php.net/manual/ru/... - предпоследний комментарий.
Риторический вопрос - почему программисты никогда не читают документацию? :)
Скажите пожалуйста кто нибудь настраивал работу memcached через сокет? Наш хостинг-провайдер не поддерживает работу через порты, только через сокет. ТП вебасист ничего не слышала от таком варианте настройки. по этой причине и обращаюсь сюда, может кто из коммюнити делал - поделитесь опытом
Используйте этот пример.
Сервер NVMe. Установил сервер мемкешд (256 выделил оп), включил расширения, с помощью плагина Memcached добавил и видимо проверил наличие сервера и данные подключения + проверил файлом в корне. Вроде работает. Однако: 1. Не заметил никаких изменений в пэйджспид гугла. 2. В вебмастере страница категории стала загружаться (ответ сервера) со значениями от 590 до 1900 в произвольном порядке, чаще диапазон 900-1600 мс. С выключенным плагином ответ 360-590 мс. Что-то может быть сделано не так? Или такой результат тоже возможен? Или такое кэширование не подходит для категорий, списков...
Ваш вопрос не имеет прямого отношения к теме статьи. Задайте его в отдельной теме на форуме поддержки, пожалуйста, или поищите ответ на него с помощью функции поиска.
Аналогично, создавал отдельную тему https://support.webasyst.ru/fo...
Пробовал и через localhost, и сокет, но файловый кэш почему-то работает быстрее memcached.
Можно поподробнее про параметр Namespace (Укажите произвольный идентификатор в значении ключа 'namespace', чтобы избежать конфликтов при использовании нескольких сайтов на одном сервере.) что значит произвольный идентификатор, просто поставить 123 и все будет работать?
Напишите любую строку — на всякий случай латинскими буквами. Этого должно быть достаточно.