2017-02-03 50 views
6

當試圖運行工匠命令我碰到下面的錯誤類的Memcached找不到流明5.4

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

我最近一直在努力所用流明5.3,不得不運行工匠命令沒有問題的另一個項目。這兩個項目都在同一個虛擬框中,除了Lumen版本之外,服務器設置沒有區別。

我檢查過Memcached正在運行,沒有問題。

我已經嘗試了composer dump-autoload,刪除了vendor文件夾並重新安裝,但沒有一個有所作爲。

如果可能的話,我寧願不必回到5.3。

有沒有辦法解決這個問題?

+0

聽起來像你沒有安裝Memcached。 http://php.net/manual/en/memcached.installation.php – ceejayoz

+0

Memcached已安裝。我運行服務memcached狀態,並啓用並運行。 –

+2

安裝了Memcached並且在* PHP *中安裝了Memcached **擴展**並不是一回事。閱讀鏈接。 – ceejayoz

回答

7

有同樣的問題。 檢查您是否爲您正在使用的php版本安裝了memcached擴展,並檢查它是否在php.ini文件中正確配置(它可能正在查找錯誤的目錄)。

+2

我跑yum安裝php-memcached,並已解決問題 –

+0

很高興它的工作! –

1

的Ubuntu LTS 16.04,試試這個:

sudo apt-get install php-memcached 
6

看起來像你的memcahed沒有安裝或沒有正確配置。

的快速解決方案,

使用文件緩存驅動程序,而不是memcached的

CACHE_DRIVER=file 
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我選擇安裝自制軟件/ 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,則需要通過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引擎V3.1.0,版權所有( C)1998至2017年Zend技術

所以我用:

brew install php71-memcached 

但是你可以使用你的查找所需版本

brew search memcached 

一旦完成這些步驟,你可能會得到一個新的錯誤

沒有Memcached的服務器添加。

因此,與

brew services restart memcached 

完成火起來!

+0

另一個小技巧,如果你使用代客,在這個過程之後使用'valet restart',只需重新啓動php並使新的memcached模塊生效。 – Grant