Laravel 5.5 の「非アクティブのためページの有効期限が切れました」エラー: 非アクティブ期限切れのトラブルシューティング
Laravel 5.5 で登録フォームを送信するとき、 「アクティビティがないため、ページの有効期限が切れました。」というエラーが発生する場合があります。 CSRF トークンが存在するにもかかわらず、特定の構成または設定が適切に設定されていない場合、この問題が発生する可能性があります。
考えられる原因と解決策:
1.間違ったセッション ドライバー:
セッション ドライバーは、CSRF トークンを含むセッション データを保存する責任があります。セッションドライバーがテスト目的の「array」に設定されている場合、リクエスト間のセッションデータは保持されません。これにより、「ページの有効期限が切れました」エラーが発生する可能性があります。セッションドライバーを「ファイル」または別の永続ドライバーに切り替えると、問題が解決されるはずです。
2.非アクティブタイムアウト:
Laravel の CSRF トークンの検証は、非アクティブ状態が一定期間続くと期限切れになる場合があります。デフォルトでは、このタイムアウトは 120 分に設定されています。つまり、ユーザーがフォームの送信に 120 分以上かかると、CSRF トークンが無効になり、エラーが発生します。これを解決するには、config('session.lifetime') 構成設定を変更して、CSRF トークンの有効期限を長くします。
3.間違ったストレージ権限:
「file」セッションドライバーを使用している場合は、config/session.php ファイルで指定された storage_path が書き込み可能でない可能性があります。これにより、Laravel がセッション データを適切に保存できなくなり、「ページの有効期限が切れました」エラーが発生する可能性があります。 storage_path が書き込み可能であり、正しい権限があることを確認します。
4. HTTPS 構成の不一致:
config/session.php のセッション構成でセキュア設定とドメイン設定が有効になっているにもかかわらず、開発環境で HTTPS が使用されていない場合も、エラーが発生する可能性があります。これを解決するには、セッション構成でセキュア設定とドメイン設定を無効にするか、開発環境で HTTPS が使用されていることを確認します。
以上がLaravel 5.5 登録フォームに「非アクティブのためページの有効期限が切れました」というエラーが表示されるのはなぜですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。