0

のブレードテンプレートのエラーPHPUnit 4.0、Laravel 5.2、PHP 5.5.9でテストしていますが、エラー '例外:' RuntimeException 'のメッセージが「要求に応じてセッションストアが設定されていません。 /var/www/html/vendor/laravel/framework/src/Illuminate/Http/Request.php:85Laravel 5.2:要求に応じてセッションストアが設定されていません。

これを排除するために、ミドルウェアが有効になっています。

{{old( 'username'}}}をフォームから削除すると、エラーは消えます。私はold()メソッドを使ってこの問題に関していくつかの投稿を見てきました。しかし、私はkernel.phpを更新し、ミドルウェアグループの下のルートを 'web'を参照するように移動し、開始セッションをkernel.phpのデフォルトのミドルウェア配列()に移動しました。私もTestCase.phpからセッションを呼び出そうとしました。いずれのフォーラムも実用的な解決策を持っていないようです。構文に欠けているものがあるのですか、またはLaravelにバグがありますか?私が持っている

<?php 

    Route::group(['middleware' => ['web']], function() { 

      Route::group(array('middleware' => ['sso:0']), function ($key) { 

       Route::get('signup/{token}', [ 
        'as' => 'customer.signup', 
        'uses' => '[email protected]' 
     ]); 
    }); 
}); 

@extends('layouts.main') 
@section('body') 
    <body> 
    <h2>Signup</h2> 
    <form class="m-t" role="form" method="POST" action="/signup"> 
     <div class="form-group"> 
      <input name="username" type="text" placeholder="Username" value="{{ old('username') }}" required=""> 
     </div> 
     <button type="submit" name="Signup" >Signup</button> 
    </form> 
    </body> 
@endsection 

マイroutes.phpのは、次のようになります。

<?php 

namespace App\Http; 

use Illuminate\Foundation\Http\Kernel as HttpKernel; 

class Kernel extends HttpKernel 
{ 

    protected $middleware = [ 
     \Illuminate\Foundation\Http\Middleware\CheckForMaintenanceMode::class, 
     \Illuminate\Session\Middleware\StartSession::class, 
     \Illuminate\View\Middleware\ShareErrorsFromSession::class 
    ]; 

    protected $middlewareGroups = [ 
     'web' => [ 
      \App\Http\Middleware\EncryptCookies::class, 
      \Illuminate\Cookie\Middleware\AddQueuedCookiesToResponse::class, 
      \App\Http\Middleware\VerifyCsrfToken::class, 
     ], 
     'api' => [ 
      'throttle:60,1', 
     ], 
    ]; 

    protected $routeMiddleware = [ 
     'sso'   => \App\Http\Middleware\SsoEnabled::class 
     ]; 
} 

マイsignup.blade.phpがどのように見えるように

私kernel.phpファイルが見えますtestCase.php setUpに新しいブロックを追加しようとしました。

$this->app['config']->set('session', [ 
    'driver'   => 'array', 
    'lifetime'  => 120, 
    'expire_on_close' => false, 
    'encrypt'   => false, 
    'lottery'   => [2, 100], 
    'path'   => '/', 
    'domain'   => 'localhost', 
    'secure'   => true, 
    'email'   => '[email protected]', 
    'store'   => 'storage' 
]); 
    $kernel = app('Illuminate\Contracts\Http\Kernel'); 
    $kernel->pushMiddleware('Illuminate\Session\Middleware\StartSession'); 
+0

:\ '( – roll

答えて

0

これは最善の解決策ではありませんが、setUp()でセッションストアを設定することで正しく動作するようになりました。

が点灯\サポート\ファサード\要求:: setSession(の$ this - >アプリ[ 'session.store'])私は同じisueを持っています

+0

今私のために働い。 – gandra404

関連する問題