2017-01-27 18 views
0

Laravelのログインページに問題があります。プロジェクトを実行すると、localhost:8000/loginが正常にログインしました。php artisan serveLaravel 5.3 - VerifyCsrfToken.phpのTokenMissmatchException

私がlocalhost/project/loginを呼び出すと、VerifyCsrfToken.phpにTokenMismatchExceptionが発生します。

私のログインフォームは次のようになっています。

<head> 
    <meta name="csrf-token" content="{{ csrf_token() }}"> 
    ... 
</head> 

<body> 
    <form method="post" action="{{ url('/login') }}"> 
     {!! csrf_field() !!} 
     ... 
    </form> 
</body> 

どうすれば修正できますか?ありがとう。

+0

ファイルのスニペットを共有できますか?そして、あなたはJSからのログイン要求をしていますか?そうでなければ、あなたはメタcsrf-tokenを必要としません – zgabievi

+0

スニペットを追加しました。私はフォームにリクエストを掲示しています。 – etnclp

+0

'php artisan config:cache'を実行してください。または、PHPのバージョンを確認してください。 'php artisan serve'を実行すると、php-cliバージョンが実行されます。あなたがapacheから走っているならば、 'info.php'ファイルを作り、この行を追加するには' phpinfo(); 'で確認してください。 –

答えて

0

私は再び自分自身に質問に答えました。私はこれが誰かを助けることを望む。問題の原因はセッションだった。この問題は、configドライバをファイルからデータベースに変更することで解決されました。

編集:私はファイルにセッションドライバを設定したときに、私は問題を解決できなかった

SESSION_DRIVER=database 

:に設定

php artisan session:table 

php artisan migrate 

.envファイル。許可に問題がある可能性があります。私は多くの努力をしなかった。私はこれを行い、修正されました。

+0

解決策を共有できますか?私はそれに入ることができませんでした。ありがとう – Pun

0

問題ありません。

artisan serveを再度実行すると、トークンが変更されます。もう一度ログインすると、ページを更新して新しいトークンをリクエストする必要があります。永続的でないフォームを要求するたびに、トークンが生成されます。

+0

私は既にそれに問題はないと言った。 Apacheサーバ上で 'localhost/project/login'を使ってプロジェクトを呼びたいと思います。この場合、例外が発生します。 – etnclp

+0

@etnclpここでは同じ問題..解決しました – Pun