OK、Lumen を使い始めたばかりで、Auth を使用しようとしていますが、Auth::check または Auth の他の関数を呼び出すと、以下のエラー Fatal error: Class 'Memcached' not found in vendor が発生します。 \illuminate\cache\MemcachedConnector.php 行 52。Memcached を使用したくありません。これまで使用したことがありません。
.envファイルで無効にし、CACHE_DRIVERとSESSION_DRIVERを配列に設定しましたが、それでも同じエラーが表示されます。
Auth を再度使用せず、セッション/トークンを使用して手動で認証を処理することにしましたが、MiddleWare StartSession を有効にすると同じエラーが発生します。
$app->middleware([
// 'Illuminate\Cookie\Middleware\EncryptCookies',
// 'Illuminate\Cookie\Middleware\AddQueuedCookiesToResponse',
'Illuminate\Session\Middleware\StartSession',
// 'Illuminate\View\Middleware\ShareErrorsFromSession',
// 'Laravel\Lumen\Http\Middleware\VerifyCsrfToken',
]);
誰かが本当にここで私を助けてくれたらとてもうれしいです
編集
フレームワークを少し深く掘り下げた後SessionManager
、メソッド内のクラスにセッションドライバー名をハードコーディングしましたgetSessionConfig
public function getSessionConfig()
{
$this->setDefaultDriver("cookie");//I added this line
return $this->app['config']['session'];
}
それは機能しますが、物事を行う良い方法ではありません。構成ファイルはありません。すべての構成が.envファイルに書き込まれていると思いますが、 .envで変更してから実行した後でも、session_driverとcache_driver がデフォルトで memecached に設定されている理由が本当にわかりませんcomposer dump-autoload
... Lumen :(
編集 これは私の.envファイルです
APP_ENV=local
APP_DEBUG=true
APP_KEY=SomeRandomKey!!!
APP_LOCALE=en
APP_FALLBACK_LOCALE=en
DB_CONNECTION=mysql
DB_HOST=localhost
DB_DATABASE=test
DB_USERNAME=root
DB_PASSWORD=
CACHE_DRIVER=array
SESSION_DRIVER=cookie
QUEUE_DRIVER=database
私はすでにbootsrap/app.phpでこの行のコメントを外しています
Dotenv::load(__DIR__.'/../');
私のデータベース構成は完全に機能するため、.env ファイルは問題なくロードされます。