Обычно я использовал файл в качестве драйвера для хранения сессии и кэша.Теперь я хочу работать с 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
и хотел бы знать, чтосделать, чтобы это работало.