尝试运行artisan命令时出现以下错误
[Symfony\Component\Debug\Exception\FatalThrowableError]
Class 'Memcached' not found
我最近一直在研究另一个使用Lumen 5.3的项目,并且运行artisan命令没有问题。这两个项目都在同一个虚拟盒子上,除了Lumen版本之外,服务器设置没有区别。
我已经检查过Memcached正在运行且没有问题。
我尝试过composer dump-autoload,删除了vendor文件夹并重新安装,但这些都没有任何区别。
如果可能的话,我宁愿不回到5.3。
有没有办法解决这个问题?
答案 0 :(得分:7)
有同样的问题。 检查您是否为您正在使用的php版本安装了memcached扩展,并检查它是否在php.ini文件中正确配置(它可能在错误的目录中查找)。
答案 1 :(得分:4)
看起来您的memcahed未安装或未正确配置。
快速解决方案,
使用文件缓存驱动程序而不是memcached
CACHE_DRIVER=file
答案 2 :(得分:2)
Ubuntu 16.04 LTS,试试这个:
sudo apt-get install php-memcached
答案 3 :(得分:1)
只是添加了os特定的响应。这是使用OS / X和自制软件的那个。
首先,您必须确定您在本地使用的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,我选择安装homebrew / 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.
$
干杯,这对我来说是为了当地的发展。
答案 4 :(得分:0)
如果您使用的是Mac OSX,则需要通过Homebrew安装Memcached及其PHP依赖项。
brew update
brew doctor
brew install memcached
然后检查您的PHP版本并为Memcached安装相关的PHP挂钩。
php -v
在我的情况下......
PHP 7.1.4(cli)(建于2017年4月14日15:02:16)(NTS)
版权所有(c)1997-2017 PHP小组
Zend Engine v3.1.0,版权所有(c)1998-2017 Zend Technologies
所以我用过:
brew install php71-memcached
但您可以使用
查找所需的版本brew search memcached
执行这些步骤后,您可能会收到新错误
未添加任何Memcached服务器。
用
点燃它brew services restart memcached
完成!