Я тестирую PHPUnit 4.0, Laravel 5.2, PHP 5.5.9 и продолжаю получать ошибку ERROR: исключение «RuntimeException» с сообщением «Хранилище сеансов, не заданное по запросу». в /var/www/html/vendor/laravel/framework/src/Illuminate/Http/Request.php:85Laravel 5.2: Магазин сеансов не установлен по запросу. Ошибка для шаблонов Blade со старым()
Чтобы исключить это, промежуточное программное обеспечение включено.
Если я удалю {{old ('username')}} из формы, ошибка исчезнет. Я видел несколько сообщений по этой проблеме, используя метод old(); однако я обновил kernel.php, переместил маршрут под группой промежуточного программного обеспечения, чтобы ссылаться на «web», и даже перешел к стартовому сеансу по умолчанию в промежуточном средстве() в kernel.php. Я также попытался вызвать сеанс из TestCase.php. На любом из форумов, похоже, нет рабочего решения. Есть ли что-то, отсутствующее в синтаксисе, или есть ошибка в Laravel?
Мой kernel.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 выглядит следующим образом:
@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
Route::group(['middleware' => ['web']], function() {
Route::group(array('middleware' => ['sso:0']), function ($key) {
Route::get('signup/{token}', [
'as' => 'customer.signup',
'uses' => '[email protected]'
]);
});
});
У меня есть даже попробовал добавить новый блок в 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');
У меня та же isue: '( – roll