Laravel 5.2をインストールしました。私は私のプロジェクトに数時間を費やしています。セッションがルートを越えていないことに気付いています。フォーム上で検証サービスを使用すると、まずこれに気付きました。検証に失敗すると変数$error
が空になりました。Laravel 5.2 - セッション変更中にセッションが持続しない
私は問題を再現するために2つの簡単なルートを作成しました。コードは以下の通りです。 Foo
ルートはセッションをロードしますが、Bar
ルートはロードしません。
Laravel.log
が空です。sudo chmod -R 777
保存時- 私はデータベースドライバとファイルドライバを試しました。同じ結果。
- 私はセッションテーブルの変更を含むようにデータベース(ユーザIDなど)
php artisan config:clear
php artisan cache:clear
私はセッションファイルがstorage/framework/sessions
- に格納されている参照ファイルドライバを使用して更新しました私は
app/Http/Kernel.php
の新しいコピーが5.2リポジトリから取ってきた
routes.phpの
Route::group(['middleware' => ['web']], function() {
Route::get('foo','[email protected]');
Route::get('bar','[email protected]ar');
});
AuthController.php
namespace Zocial\Http\Controllers;
class AuthController extends Controller
{
public function foo()
{
\Session::put('user','testing');
//session(['user' => 'testing']); not working either
return \Session::get('user');
}
public function bar()
{
return "Session here: " . \Session::get('user');
}
}
コンフィグ/ session.php
return [
'driver' => env('SESSION_DRIVER', 'database'),
'lifetime' => 120,
'expire_on_close' => false,
'encrypt' => true,
'files' => storage_path('framework/sessions'),
'connection' => env('DB_CONNECTION','mysql'),
'table' => 'sessions',
'lottery' => [2, 100],
'cookie' => 'laravel_session',
'path' => '/',
'domain' => env('APP_DOMAIN', null),
'secure' => false,
];
ファイルドライバを使用すると、セッションファイルが 'storage/framework/sessions'ディレクトリ内に作成されていますか? –
新バージョンのLaravel 5.2アプリをインストールしましたか、以前のバージョンからアップデートしましたか? –
有効な 'app/Http/Kernel.php'ファイル構造を持っていることを確認してください。デフォルトのものはこちらhttps://github.com/laravel/laravel/blob/master/app/Http/Kernel.php –