Ошибка 500 при попытке настроить Memcached Есть решение

1

Создал файл wa-config/cache.php

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

Сайт не открывается и выдаёт ошибку 500

В логах ошибок на сервере:

мой-домен [Thu Aug 29 15:30:40 2019] [error] [client 5.45.211.61] PHP Fatal error: Uncaught Error: Class 'Memcached' not found in /home/c/мой-логин/webasyst/public_html/wa-system/cache/adapters/waMemcachedCacheAdapter.class.php:20\nStack trace:\n#0 /home/c/мой-логин/webasyst/public_html/wa-system/cache/waCacheAdapter.class.php(12): waMemcachedCacheAdapter->init()\n#1 /home/c/мой-логин/webasyst/public_html/wa-system/config/waAppConfig.class.php(66): waCacheAdapter->__construct(Array)\n#2 /home/c/мой-логин/webasyst/public_html/wa-system/waSystem.class.php(261): waAppConfig->getCache('default')\n#3 /home/c/мой-логин/webasyst/public_html/wa-system/routing/waRouting.class.php(256): waSystem->getCache()\n#4 /home/c/мой-логин/webasyst/public_html/wa-system/routing/waRouting.class.php(306): waRouting->getPageRoutes('shop', Array)\n#5 /home/c/мой-логин/webasyst/public_html/wa-system/routing/waRouting.class.php(222): waRouting->getAppRoutes('shop', Array, true)\n#6 /home/c/мой-логин/webasyst/public_html/wa-system/waSystem.class.php(755): waRouting->dispatch()\n#7 /home/c/мой-логин/webasyst/public_htm in /home/c/мой-логин/webasyst/public_html/wa-system/cache/adapters/waMemcachedCacheAdapter.class.php on line 20

Как видно, ошибка происходит по причине того, что класс Memcached не был найден в файле waMemcachedCacheAdapter.class.php.
Что это? Ошибка в WA? Я могу что-то подправить?

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

    • +1
      Antonio Antonio 29 августа 2019 21:59 #

      На сервере у меня Memcached включен по умолчанию, если вы это имели ввиду. Сделал всё по инструкции Webasyst. Техподдержка хостинга тоже попробовала.

      Если можно конкретнее, что проверить? 

      • +1
        Михаил Ушенин Михаил Ушенин Webasyst 5 сентября 2019 15:03 #

        Уточните в службе поддержки хостинга, почему класс Memcached недоступен для PHP-скриптов сайта. Должен быть доступен.

        • +1
          Antonio Antonio 6 сентября 2019 22:25 #

          Ответ службы поддержки хостинга:

          Видим, что в файле настройки memcached cache.php некорректно указан порт. Согласно нашей инструкции его необходимо указать значение 0. В вашем случае порт указан иной. Пожалуйста, изменение данное значение и проверьте работу данного функционала.
          Функционал отсутствует phpinfo так как подключение происходит локально через сокет memcached.sock, который указывается непосредственно в конфигурационном файле из корня аккаунта. В данном случае через cache.php.

          Порт стоял '11211' и я поставил '0', ошибок нет, но вопрос остаётся. Как проверить работает memcached или нет?

        • +1
          Antonio Antonio 29 августа 2019 23:03 #

          Сработал такой код подсмотренный из настроек для Битрикса. У меня не хватало: 'sid' => $_SERVER["DOCUMENT_ROOT"]."#01"

          <?php
          return array (
          'cache' => array(
          'value' => array (
          'type' => 'memcache',
          'memcache' => array(
          'host' => 'unix:///home/c/мой-логин/.memcached.sock',
          'port' => '11211'
          ),
          'sid' => $_SERVER["DOCUMENT_ROOT"]."#01"
          ),
          ),
          );

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

          • +1
            Михаил Ушенин Михаил Ушенин Webasyst 2 сентября 2019 15:11 #

            Вы же написали

            Сработал такой код

            Что вы хотите проверить?

            • +1
              Antonio Antonio 2 сентября 2019 15:40 #

              Я может не правильно выразился. С таким кодом нет ошибок. На 100%не уверен, что он работает. Я хочу проверить информацию о кешировании memcached. В файле php.info я этой информации не вижу. 

            • +1
              Denis Reva-Sapega Denis Reva-Sapega 2 сентября 2019 21:52 #

              Memcached с настройками из коробки тот еще инструмент. Поставил себе недавно на проект, время ответа сервера только увеличилось и просели другие метрики связанные со скоростью загрузки страницы. Подключение к серверу тоже требует время.

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

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