webentwicklung-frage-antwort-db.com.de

Klasse Memcached nicht gefundenes Lumen 5.4

Beim Versuch, handwerkliche Befehle auszuführen, erhalte ich die folgende Fehlermeldung

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

Ich habe kürzlich an einem anderen Projekt gearbeitet, das Lumen 5.3 verwendet hat und keine Probleme mit der Ausführung von Handwerkerbefehlen hatte. Beide Projekte befinden sich in derselben virtuellen Box und abgesehen von den Lumen-Versionen gibt es keine Unterschiede beim Server-Setup.

Ich habe überprüft, dass Memcached läuft und es keine Probleme gibt. 

Ich habe Composer Dump-Autoload ausprobiert, den Herstellerordner gelöscht und neu installiert, aber nichts davon hat einen Unterschied gemacht. 

Ich möchte lieber nicht auf 5.3 zurückkehren, wenn möglich.

Gibt es eine Möglichkeit, dieses Problem zu lösen?

6
Danny Connolly

Hatte das gleiche Problem. Prüfen Sie, ob Sie die memcached-Erweiterung für die von Ihnen verwendete PHP-Version installiert haben, und prüfen Sie auch, ob sie in der Datei php.ini richtig konfiguriert ist (sie könnte im falschen Verzeichnis suchen). 

es sieht so aus, als ob Ihr Memcached nicht installiert oder nicht richtig konfiguriert ist.

für eine schnelle Lösung

verwenden Sie den Dateicache-Treiber anstelle von Memcached 

CACHE_DRIVER=file
4
Mahfuz

Ubuntu 16.04 LTS, versuchen Sie Folgendes:

Sudo apt-get install php-memcached
2

Nur um den OS spezifische Antworten hinzuzufügen. Hier ist derjenige, der OS/X und Homebrew verwendet.

Zuerst müssen Sie feststellen, welche Version von PHP Sie lokal verwenden.

$ 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 ✔

Da ich PHP 7.0 verwende, entschied ich mich, Homebrew/php/php70-memcached zu installieren

$ brew install homebrew/php/php70-memcached

Wenn Sie kein Homebrew installiert haben, gehen Sie zu https://brew.sh/ und installieren Sie es, um diese Anweisungen zu verwenden. Dies war der Befehl, als ich ihn das letzte Mal benutzt habe. 

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

Nachdem ich mit all dem fertig war, testete ich den Cache.

$ php artisan cache:clear
Cache cleared successfully.
$

Prost, das hat es für mich für die lokale Entwicklung festgelegt.

1
jbrahy

Wenn Sie mit Mac OSX arbeiten, müssen Sie Memcached und die Abhängigkeiten von PHP über Homebrew installieren.

brew update
brew doctor
brew install memcached

Dann überprüfen Sie Ihre PHP -Version und installieren Sie Ihre relevanten PHP -Haken für Memcached.

php -v

in meinem Fall...

PHP 7.1.4 (cli) (erstellt: 14. April 2017 um 15:02:16 Uhr) (NTS)
Copyright (c) 1997-2017 Die Gruppe PHP
Zend Engine v3.1.0, Copyright (c) 1998-2017 Zend Technologies

Also habe ich benutzt:

brew install php71-memcached

Sie können die gewünschte Version jedoch mit suchen

brew search memcached

Nachdem Sie diese Schritte ausgeführt haben, erhalten Sie wahrscheinlich einen neuen Fehler

Keine Memcached-Server hinzugefügt.

Also feuert es mit an

brew services restart memcached

Erledigt!

0
Grant