Authクラスを利用しようとするとエラーになる
Laravelの5.3.31を利用しています。
LaravelのAuth::attempt()を利用しようと考えています。
が、Authクラスを利用すると、エラーになります。
(例)
Auth::attempt
Auth::validate
Auth::user
を利用した場合、全て同じエラーメッセージが出力されます。
###発生している問題・エラーメッセージ
Authクラスが利用できません。
Argument 3 passed to Illuminate\Auth\SessionGuard::__construct() must be an instance of Illuminate\Contracts\Session\Session, instance of Illuminate\Session\Store given, called in /var/www/html/booking/vendor/laravel/framework/src/Illuminate/Auth/AuthManager.php on line 125 and defined
Illuminate \ Auth \ SessionGuard :: __ construct()に渡される引数3は、
/ var / www / html / booking / vendor / laravelで呼び出された
Illuminate \ Contracts \ Session \ Sessionのインスタンスである必要があります。
/framework/src/Illuminate/Auth/AuthManager.php 125行目に定義されています
SessionGuardのコンストラクタの第三引数は、Laravelのセッションである必要があると、
そんな文言のように読み取れます。
###エラーの文言に関連する部分
エラーメッセージに出てくるコンストラクタの引数の部分
vendor\laravel\framework\src\Illuminate\Auth\SessionGuard.php
php
1 public function __construct($name, 2 UserProvider $provider, 3 Session $session, // セッションを引数に取ってます 4 Request $request = null) 5 { 6 $this->name = $name; 7 $this->session = $session; 8 $this->request = $request; 9 $this->provider = $provider; 10 } 11
エラーメッセージに出てくるSessionGuardの呼び出し部分
vendor\laravel\framework\src\Illuminate\Auth\AuthManager.php
php
1 public function createSessionDriver($name, $config) 2 { 3 $provider = $this->createUserProvider($config['provider']); 4 5 $guard = new SessionGuard($name, $provider, $this->app['session.store']); 6 //ここでセッションを渡しているように見えるのですが、ここでエラーになります。 7
$this->app['session.store']が第三引数なので、Sessionのインスタンスを与えているように見えます。
この変数をダンプしてみます。
var_dump($this->app['session.store']);
php
1 2object(Illuminate\Session\Store)[255] 3 protected 'id' => string '0yzP6rL3No9wxesMPpY95aIeXY4a8ytRrrdMBNi2' (length=40) 4 protected 'name' => string 'laravel_session' (length=15) 5 protected 'attributes' => 6 array (size=4) 7 '_token' => string '7v4Y1RGdBVFRf1I25fZehR51TIBtdEvhOb1GKHAF' (length=40) 8 '_previous' => 9 array (size=1) 10 'url' => string 'http://hugohugohugooon.kp/mapopo/public/login' (length=42) 11 '_flash' => 12 array (size=2) 13 'old' => 14 array (size=0) 15 ... 16 'new' => 17 array (size=0) 18 ... 19 'PHPDEBUGBAR_STACK_DATA' => 20 array (size=0) 21 empty 22 protected 'bags' => 23 array (size=0) 24 empty 25 protected 'metaBag' => 26 object(Symfony\Component\HttpFoundation\Session\Storage\MetadataBag)[246] 27 private 'name' => string '__metadata' (length=10) 28 private 'storageKey' => string '_sf2_meta' (length=9) 29 protected 'meta' => 30 array (size=3) 31 'u' => int 1496657561 32 'c' => int 1496621391 33 'l' => string '0' (length=1) 34 private 'lastUsed' => int 1496656132 35 private 'updateThreshold' => int 0 36 protected 'bagData' => 37 array (size=1) 38 '_sf2_meta' => 39 array (size=3) 40 'u' => int 1496657561 41 'c' => int 1496621391 42 'l' => string '0' (length=1) 43 protected 'handler' => 44 object(Illuminate\Session\FileSessionHandler)[256] 45 protected 'files' => 46 object(Illuminate\Filesystem\Filesystem)[97] 47 protected 'path' => string '/var/www/htmm/mapopo/storage/framework/sessions' (length=48) 48 protected 'minutes' => int 120 49 protected 'started' => boolean true
Authが利用できず困っています。なんかすごい簡単そうだったんですが、ものすごいはまってます。
誰か分かる方助けてくださいorz.....
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2017/06/06 13:51
2017/06/06 14:24
2017/06/07 07:41