Как использовать Memcached для сессии в Laravel 5.7? - PullRequest
0 голосов
/ 26 февраля 2019

Обычно я использовал файл в качестве драйвера для хранения сессии и кэша.Теперь я хочу работать с Memcached для хранения сессии и кэша в приложении Laravel 5.7.Это ново для меня.Я уже установил php-memcached в своей локальной среде.

В моем веб-приложении Laravel 5.7 я настроил session.driver и cache.default в файле .env следующим образом.

SESSION_DRIVER=memcached
CACHE_DRIVER=memcached

Я оставляю все остальное с установкой по умолчанию.Когда я обновляю страницу, я получаю следующую ошибку:

Symfony \ Component \ Debug \ Exception \ FatalThrowableError (E_ERROR)
Class 'Memcached' not found
/vendor/laravel/framework/src/Illuminate/Cache/MemcachedConnector.php 69

Я понимаю, что когда вы конфигурируете драйвер для конфигурации сеанса и кэша для использования Memcached, MemcachedConnector будет вовлечен.Он импортирует класс Memcached и пытается создать объект экземпляра класса Memcached следующим образом.

use Memcached;

class MemcachedConnector {
    protected function createMemcachedInstance($connectionId) {
        return empty($connectionId) ? new Memcached : new Memcached($connectionId);
    }
}

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

SESSION_DRIVER=file
CACHE_DRIVER=file

или

SESSION_DRIVER=array
CACHE_DRIVER=array

Потому что я хотел бы использовать Memcached и хотел бы знать, чтосделать, чтобы это работало.

1 Ответ

0 голосов
/ 26 февраля 2019

Я пока не могу комментировать, извините за публикацию в качестве ответа.

Попробуйте запустить php -i || grep 'memcached' из каталога вашего приложения.

Если вы используете vagrant, попробуйте vagrant ssh затемphp -i || grep 'memcached'

Вы также можете (как предложено ниже) добавить phpinfo(); в верхнюю часть вашего routes/web.php (под <?), и это должно выплевывать вашу информацию php при попытке загрузить вашsite in the browser.

Это подскажет вам, установлен ли memcached или загружен или нет.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...