Сайт в Laravel Valet не может найти Memcache, но я вижу, что процесс запущен — что теперь?

У меня есть локальный сайт WP, который зависит от Memcached. В файле readme говорится: «Используйте memcached и расширение memcache PECL, чтобы обеспечить резервное хранилище для кэша объектов WordPress».

Насколько я могу судить, мой конфиг соответствует этим требованиям. Но когда я пытаюсь получить доступ к приложению, я получаю:

Fatal error: Uncaught Error: Class 'Memcache' not found in. . .

Я использую php 7.3, установленный через Homebrew, и Memcached 3.1.3, установленный через PECL. Memcached 3.1.3 говорит, что он совместим с php 7.3, и я следовал этим инструкциям. чтобы добавить Memcache в качестве расширения к моему php-серверу. Если я запускаю php через Homebrew, я вижу процесс Memcache при запуске ps -ef | grep -i memcached, а конфигурация появляется при запуске php --info | grep memcached\\.. Но я не могу подключиться к Memcached через приложение Valet или через Telnet.

Если я запускаю Memcached через Homebrew, я получаю другую версию, 1.5.13, которая, я думаю, предшествует php 7.3. Насколько я понимаю, Homebrew устанавливает только стабильные версии. Когда работает Homebrew Memcache, я могу подключиться через Telnet, но не через приложение Valet.

Чем отличается установка Memcached для Homebrew? Я предполагаю, что Homebrew должен каким-то образом сделать Memcache доступным извне, но я не знаю, что происходит за кулисами.


person jamesfacts    schedule 02.05.2019    source источник


Ответы (1)


Работал для меня:

brew install libmemcached
brew install pkg-config
pecl install memcached

Нажмите Enter на все вопросы

Потом:

cd /usr/local/etc/php/7.3
sudo vim php.ini
[memcached]
extension=/usr/local/Cellar/php/7.3.5/pecl/20180731/memcached.so

Замените части пути в соответствии с вашей системой

Ну наконец то:

brew services restart php
php -m
person subdesign    schedule 23.10.2019