Rumah > Artikel > pembangunan bahagian belakang > Mengapakah saya mendapat ralat \"Stor sesi tidak ditetapkan atas permintaan\" dalam Laravel?
Pengenalan
Apabila bekerja dengan Laravel, menghadapi ralat "Stor sesi tidak ditetapkan atas permintaan" boleh mengecewakan. Artikel ini bertujuan untuk memberikan penjelasan yang jelas tentang isu tersebut dan penyelesaian langkah demi langkah.
Apakah Ralatnya?
Stor "Session not set on permintaan" ralat menunjukkan bahawa stor sesi belum ditetapkan pada permintaan HTTP masuk. Ini boleh berlaku apabila perisian tengah sesi tidak digunakan pada laluan yang berkaitan.
Punca Kemungkinan: Perisian Tengah Web Hilang
Perisian tengah web, yang mengendalikan fungsi penting seperti sesi keadaan dan perlindungan CSRF, lazimnya adalah punca di sebalik ralat ini. Untuk memastikan kefungsian pengesahan yang betul dan ciri lain yang bergantung pada sesi, perisian tengah web perlu digunakan pada laluan yang berkaitan.
Penyelesaian: Gunakan Perisian Tengah Web
Untuk menyelesaikan ralat "Stor sesi tidak ditetapkan atas permintaan", gunakan blok kod berikut dalam route.php anda fail:
<code class="php">Route::group(['middleware' => ['web']], function () { // your routes here });</code>
Kod ini akan menggunakan perisian tengah web pada semua laluan yang ditakrifkan dalam kumpulan. Sekarang, stor sesi akan ditetapkan pada semua permintaan masuk ke laluan ini dan ralat harus diselesaikan.
Contoh:
Untuk menggunakan perisian tengah web pada anda pengesahan dan laluan pendaftaran, kemas kini fail route.php anda seperti berikut:
<code class="php">// Authentication routes Route::group(['middleware' => ['web']], function () { Route::get('auth/login', ['uses' => 'Auth\AuthController@getLogin', 'as' => 'login']); Route::post('auth/login', ['uses' => 'Auth\AuthController@postLogin', 'as' => 'login']); Route::get('auth/logout', ['uses' => 'Auth\AuthController@getLogout', 'as' => 'logout']); }); // Registration routes Route::group(['middleware' => ['web']], function () { Route::get('auth/register', ['uses' => 'Auth\AuthController@getRegister', 'as' => 'register']); Route::post('auth/register', ['uses' => 'Auth\AuthController@postRegister', 'as' => 'login']); });</code>
Dengan menambahkan perisian tengah web pada yang sesuai laluan, anda akan memastikan bahawa stor sesi ditetapkan pada semua permintaan masuk ke laluan tersebut, dengan berkesan menyelesaikan ralat "Stor sesi tidak ditetapkan atas permintaan".
Atas ialah kandungan terperinci Mengapakah saya mendapat ralat \"Stor sesi tidak ditetapkan atas permintaan\" dalam Laravel?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!