2017-02-03 2 views
6

При попытке запуска ремесленных команд я получаю следующую ошибкуКласс Memcached Не найден Lumen 5.4

[Symfony\Component\Debug\Exception\FatalThrowableError] 
Class 'Memcached' not found 

Я недавно работал над другим проектом, который использовал Lumen 5,3 и не было никаких проблем с управлением командой ремесленника. Оба проекта находятся в одной виртуальной коробке, и, кроме версий Lumen, различия в настройке сервера отсутствуют.

Я проверил, что работает Memcached, и проблем нет.

Я пробовал автозагрузку композитора, удаляя папку поставщика и повторно устанавливая, но ни одна из них не изменила ситуацию.

Я бы предпочел не возвращаться к 5.3, если это возможно.

Есть ли способ решить эту проблему?

+0

Похоже, что у вас нет установленного Memcached. http://php.net/manual/en/memcached.installation.php – ceejayoz

+0

Установлен Memcached. Я управлял статусом службы memcached, и он включен и работает. –

+2

Наличие Memcached, установленного и имеющего расширение Memcached ** **, установленное в * PHP *, не одно и то же. Прочтите ссылку. – ceejayoz

ответ

7

Была такая же проблема. Проверьте, установлено ли расширение memcached для используемой версии php и проверьте также, правильно ли он настроен в файле php.ini (он может выглядеть в неправильном каталоге).

+2

Я запустил yum install php-memcached и решил проблему –

+0

Рад, что это сработало! –

1

Ubuntu 16.04 LTS, попробуйте следующее:

sudo apt-get install php-memcached 
6

выглядит ваш memcahed не установлен или настроен неправильно.

для быстрого решения,

использование драйвера кэш-файл вместо Memcached

CACHE_DRIVER=file 
1

Просто, чтобы добавить к бя конкретных ответов. Вот тот, который использует OS/X и homebrew.

Сначала вы должны определить, какую версию PHP вы используете локально.

$ php -v     
PHP 7.0.19 (cli) (built: May 21 2017 11:56:11) (NTS) 
Copyright (c) 1997-2017 The PHP Group 
Zend Engine v3.0.0, Copyright (c) 1998-2017 Zend Technologies 

$ brew search memcached 
homebrew/php/php53-memcached   homebrew/php/php70-memcached 
homebrew/php/php54-memcached   homebrew/php/php71-memcached 
homebrew/php/php55-memcached   libmemcached ✔ 
homebrew/php/php56-memcached   memcached ✔ 

Поскольку я бегу PHP 7.0, я решил установить доморощенного/PHP/php70-Memcached

$ brew install homebrew/php/php70-memcached 

Если у вас нет доморощенного установлен идти к https://brew.sh/ и установить его, чтобы использовать эти инструкции , Это была команда в прошлый раз, когда я ее использовал.

/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)" 

Как только я закончил со всем этим, я протестировал его, очистив кеш.

$ php artisan cache:clear 
Cache cleared successfully. 
$ 

Привет, это исправлено для меня для местного развития.

0

Если вы находитесь на Mac OSX, вам нужно будет установить Memcached и его зависимости PHP через Homebrew.

brew update 
brew doctor 
brew install memcached 

Затем проверьте свою версию PHP и установите соответствующие PHP-крючки для Memcached.

php -v 

в моем случае ...

PHP 7.1.4 (кли) (постройки: 14 апр 2017 15:02:16) (NTS)
Copyright (с) 1997-2017 РНР Группа
Zend Engine v3.1.0, Copyright (с) 1998-2017 Zend Technologies

Так что я использовал:

brew install php71-memcached 

Но вы можете поиска вашего нужную версию с помощью

brew search memcached 

После того, как вы выполнили эти шаги, вы, вероятно, получите новую ошибку

без добавления Memcached серверов.

Так стрелять с

brew services restart memcached 

Готово!

+0

Еще один небольшой совет, если вы используете Valet, после этого процесса используйте «повторный запуск», просто перезапустите php и включите новый модуль memcached. – Grant

Смежные вопросы