web-dev-qa-db-ja.com

クラスMemcachedが見つかりませんLumen5.4

職人のコマンドを実行しようとすると、次のエラーが発生します

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

私は最近、Lumen 5.3を使用する別のプロジェクトに取り組んでおり、職人のコマンドを問題なく実行できました。両方のプロジェクトは同じ仮想ボックス上にあり、Lumenバージョンを除いて、サーバーのセットアップに違いはありません。

Memcachedが実行されていることを確認しましたが、問題はありません。

composer dump-autoload、ベンダーフォルダーの削除、再インストールを試しましたが、いずれも違いはありません。

可能であれば、5.3に戻る必要はありません。

この問題を解決する方法はありますか?

6
Danny Connolly

同じ問題がありました。使用しているphpバージョンにmemcached拡張機能がインストールされているかどうかを確認し、php.iniファイルで正しく構成されているかどうかも確認します(間違ったディレクトリを検索している可能性があります)。

memcachedがインストールされていないか、正しく構成されていないようです。

迅速な解決のために、

memcachedの代わりにファイルキャッシュドライバーを使用する

CACHE_DRIVER=file
4
Mahfuz

Ubuntu 16.04 LTS、これを試してください:

Sudo apt-get install php-memcached
2

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

Homebrewをインストールしていない場合は、 https://brew.sh/ にアクセスしてインストールし、これらの手順を使用してください。これは私が最後に使用したコマンドでした。

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

それがすべて終わったら、キャッシュをクリアしてテストしました。

$ php artisan cache:clear
Cache cleared successfully.
$

乾杯、これはローカル開発のために私のためにそれを修正しました。

1
jbrahy

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、Copyright(c)1998-2017 Zend Technologies

だから私は使用しました:

brew install php71-memcached

ただし、を使用して必要なバージョンを検索できます

brew search memcached

これらの手順を実行すると、おそらく新しいエラーが発生します

Memcachedサーバーは追加されていません。

だからそれを起動します

brew services restart memcached

完了!

0
Grant