En essayant d'exécuter des commandes artisan, j'obtiens l'erreur suivante
[Symfony\Component\Debug\Exception\FatalThrowableError]
Class 'Memcached' not found
J'avais récemment travaillé sur un autre projet utilisant Lumen 5.3 et je n'avais aucun problème à exécuter des commandes artisanales. Les deux projets se trouvent sur le même boîtier virtuel et, à part les versions de Lumen, il n’ya aucune différence dans la configuration du serveur.
J'ai vérifié que Memcached est en cours d'exécution et qu'il n'y a pas de problèmes.
J'ai essayé composer dump-autoload avec Composer, supprimer le dossier du fournisseur et le réinstaller, mais rien de tout cela n'a fait de différence.
Je préférerais ne pas avoir à revenir à 5.3 si possible.
Y a-t-il un moyen de résoudre ce problème?
Avait le même problème. Vérifiez si vous avez l’extension memcached installée pour la version php que vous utilisez, et aussi s’il est correctement configuré dans le fichier php.ini (il se peut qu’il cherche dans le mauvais répertoire).
semble que votre memcached n'est pas installé ou n'est pas configuré correctement.
pour une solution rapide,
utiliser le pilote de cache de fichiers au lieu de memcached
CACHE_DRIVER=file
Ubuntu 16.04 LTS, essayez ceci:
Sudo apt-get install php-memcached
Juste pour ajouter aux réponses spécifiques du système d'exploitation. Voici celui qui utilise OS/X et homebrew.
Vous devez d’abord déterminer quelle version de PHP vous utilisez localement.
$ 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 ✔
Depuis que j'exécute PHP 7.0, j'ai choisi d'installer homebrew/php/php70-memcached
$ brew install homebrew/php/php70-memcached
Si vous n'avez pas installé homebrew, allez dans https://brew.sh/ et installez-le pour utiliser ces instructions. C'était la commande la dernière fois que je l'utilisais.
/usr/bin/Ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
Une fois que j'ai eu fini avec tout ça, j'ai testé en effaçant le cache.
$ php artisan cache:clear
Cache cleared successfully.
$
À la vôtre, cela a réglé le problème pour le développement local.
Si vous êtes sur Mac OSX, vous devrez installer Memcached et ses dépendances PHP via Homebrew.
brew update
brew doctor
brew install memcached
Vérifiez ensuite votre version PHP et installez vos points d'ancrage PHP pertinents pour Memcached.
php -v
dans mon cas...
PHP 7.1.4 (cli) (construit le 14 avril 2017 15:02:16) (NTS)
Copyright (c) 1997-2017 Le groupe PHP
Zend Engine v3.1.0, Copyright (c) 1998-2017 Zend Technologies
Alors j'ai utilisé:
brew install php71-memcached
Mais vous pouvez rechercher votre version requise en utilisant
brew search memcached
Une fois ces étapes effectuées, vous obtiendrez probablement une nouvelle erreur.
Aucun serveur Memcached ajouté.
Alors lancez-le avec
brew services restart memcached
Terminé!