laravel - Session store not set on request. after php artisan make:auth
laravel - Session store not set on request. after php artisan make:auth
大家好,我正在创建一个销售数字产品的电子商务网站。这是我第一个Laravel应用程序。最初,我无法加载登录或注册页面,直到运行php artisan make:auth
,这样就创建了一堆视图并编辑了我的路由文件。现在我可以看到注册表单,但是提交后出现“请求未设置会话存储”的错误。我查看了这个问题,但是在添加了我的身份验证路由之后,我仍然出现“请求未设置会话存储”的错误。以下是文件内容:\n
'item.store', 'uses' => 'ItemController@store']); Route::resource('item', 'ItemController'); Route::group(['middleware' => ['web']], function(){ Route::get('/register', 'Auth\AuthController@getRegister'); Route::post('/register', 'Auth\AuthController@postRegister'); Route::auth(); Route::get('/checkout', function() { return view('cart.checkout'); }); Route::get('/home', 'HomeController@index'); Route::post('/item', 'ItemController@store'); Route::get('/item', 'ItemController@index'); Route::get('/item/{id}', 'ItemController@show'); Route::get('/addItem/{productID}', 'CartController@addItem'); Route::get('/removeItem/{productID}', 'CartController@removeItem'); }); //Route Route::post('/create_payment', function(){ // 设置您的密钥:在生产中请记得将其更改为您的实际密钥 // 在此处查看您的密钥 https://dashboard.stripe.com/account/apikeys \Stripe\Stripe::setApiKey("sk_test_VVSBY8xjNklioi7V0yFVfx6Q"); $receiver = \Stripe\BitcoinReceiver::create(array( "amount" => 1000, // 以美分为单位的金额 "currency" => "usd", // 目前只能是美元 "email" => "payinguser+fill_now@example.com" )); $charge = \Stripe\Charge::create(array( "amount" => $receiver->amount, "currency" => $receiver->currency, "source" => $receiver->id, "description" => "Example charge" )); Route::controllers([ 'auth' => 'Auth\AuthController', 'password' => 'Auth\PasswordController' ]); }); Route::get('/logout', 'Auth\AuthController@getLogout'); // 注册路由... Route::get('/home', 'HomeController@index');
\n非常感谢任何帮助!
在运行php artisan make:auth
命令后,laravel报错提示"Session store not set on request.",这个问题的原因是在UserController控制器中的getLogin函数中返回了一个视图,但没有设置session store。
要解决这个问题,我们需要在getLogin函数中使用session()
函数来设置session store。具体的解决方法如下:
public function getLogin(){ return view('login')->with(session('store', 'default')); }
在getLogin函数中,使用session()
函数来设置session store。通过with()
方法将session store的值设置为"default"。
这样,当我们访问/login
路由时,laravel将会正确地设置session store,从而避免了"Session store not set on request."的错误提示。