Pourquoi est-ce que j'obtiens l'erreur « Magasin de sessions non défini sur demande » dans Laravel ?

DDD
Libérer: 2024-11-02 07:18:02
original
827 Les gens l'ont consulté

Why am I getting the

Laravel : Dépannage de l'erreur « Magasin de session non défini sur demande »

Introduction

Lorsque vous travaillez avec Laravel, vous rencontrez l'erreur « Magasin de session non défini sur demande » peut être frustrante. Cet article vise à fournir une explication claire du problème et une solution étape par étape.

Quelle est l'erreur ?

Le magasin de session n'est pas activé request" indique que le magasin de sessions n'a pas été défini sur la requête HTTP entrante. Cela peut se produire lorsque le middleware de session n'a pas été appliqué aux itinéraires concernés.

Cause possible : middleware Web manquant

Le middleware Web, qui gère les fonctionnalités essentielles telles que la session l'état et la protection CSRF, sont généralement à l'origine de cette erreur. Pour garantir le bon fonctionnement de l'authentification et d'autres fonctionnalités qui reposent sur les sessions, le middleware Web doit être appliqué aux routes pertinentes.

Solution : appliquer le middleware Web

Pour résoudre l'erreur "Session store not set on request", utilisez le bloc de code suivant dans votre fichier routes.php :

<code class="php">Route::group(['middleware' => ['web']], function () {
    // your routes here
});</code>
Copier après la connexion

Ce code appliquera le middleware web à toutes les routes définies au sein du groupe. Désormais, le magasin de sessions sera défini sur toutes les requêtes entrantes vers ces routes, et l'erreur devrait être résolue.

Exemple :

Pour appliquer le middleware Web à votre routes d'authentification et d'enregistrement, mettez à jour votre fichier routes.php comme suit :

<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>
Copier après la connexion

En ajoutant le middleware Web aux routes appropriées, vous vous assurerez que le stockage de session est défini sur toutes les demandes entrantes sur ces routes, efficacement résolution de l'erreur « Magasin de session non défini sur demande ».

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal
À propos de nous Clause de non-responsabilité Sitemap
Site Web PHP chinois:Formation PHP en ligne sur le bien-être public,Aidez les apprenants PHP à grandir rapidement!