2016-09-13 11 views
0

私はlaravelフレームワークで新しく、自分の1ページの個人用Webサイト用に独自の小さなCMSを実装しようとしています。私はlaravel 5.2を標準認証で作成しています:php artisan make:authローカルではすべて正常に動作しています。この問題は、ログインしようとするとライブ環境(Ubuntuサーバー16.04)で発生します。私は、次のスタックトレースを取得しています:ここで認証の問題Laravel 5.2ログインのみローカルでの作業

ErrorException in Filesystem.php line 109:file_put_contents(/8c52f42d0453d6f2bbd07ea1aa65b77b90238995): failed to open stream: Permission denied 
1. in Filesystem.php line 109 
2. at HandleExceptions->handleError('2', 'file_put_contents(/8c52f42d0453d6f2bbd07ea1aa65b77b90238995): failed to open stream: Permission denied', '/var/www/laravel/vendor/laravel/framework/src/Illuminate/Filesystem/Filesystem.php', '109', array('path' => '/8c52f42d0453d6f2bbd07ea1aa65b77b90238995', 'contents' => 'a:3:{s:6:"_token";s:40:"Z5yxi65ubXWtVrZiMeU2yAGdJjxQs4xxNY7xU5Tx";s:9:"_sf2_meta";a:3:{s:1:"u";i:1473341363;s:1:"c";i:1473341363;s:1:"l";s:1:"0";}s:5:"flash";a:2:{s:3:"old";a:0:{}s:3:"new";a:0:{}}}', 'lock' => true)) 
3. at file_put_contents('/8c52f42d0453d6f2bbd07ea1aa65b77b90238995', 'a:3:{s:6:"_token";s:40:"Z5yxi65ubXWtVrZiMeU2yAGdJjxQs4xxNY7xU5Tx";s:9:"_sf2_meta";a:3:{s:1:"u";i:1473341363;s:1:"c";i:1473341363;s:1:"l";s:1:"0";}s:5:"flash";a:2:{s:3:"old";a:0:{}s:3:"new";a:0:{}}}', '2') in Filesystem.php line 109 
4. at Filesystem->put('/8c52f42d0453d6f2bbd07ea1aa65b77b90238995', 'a:3:{s:6:"_token";s:40:"Z5yxi65ubXWtVrZiMeU2yAGdJjxQs4xxNY7xU5Tx";s:9:"_sf2_meta";a:3:{s:1:"u";i:1473341363;s:1:"c";i:1473341363;s:1:"l";s:1:"0";}s:5:"flash";a:2:{s:3:"old";a:0:{}s:3:"new";a:0:{}}}', true) inFileSessionHandler.php line 71 
5. at FileSessionHandler->write('8c52f42d0453d6f2bbd07ea1aa65b77b90238995', 'a:3:{s:6:"_token";s:40:"Z5yxi65ubXWtVrZiMeU2yAGdJjxQs4xxNY7xU5Tx";s:9:"_sf2_meta";a:3:{s:1:"u";i:1473341363;s:1:"c";i:1473341363;s:1:"l";s:1:"0";}s:5:"flash";a:2:{s:3:"old";a:0:{}s:3:"new";a:0:{}}}') in Store.php line 262 
6. at Store->save() in StartSession.php line 88 
7. at StartSession->terminate(object(Request), object(Response)) in Kernel.php line 155 
8. at Kernel->terminate(object(Request), object(Response)) in index.php line 58 

TokenMismatchException in VerifyCsrfToken.php line 67: 
1. in VerifyCsrfToken.php line 67 
2. at VerifyCsrfToken->handle(object(Request), object(Closure)) 
3. at call_user_func_array(array(object(VerifyCsrfToken), 'handle'), array(object(Request), object(Closure))) in Pipeline.php line 136 
4. at Pipeline->Illuminate\Pipeline\{closure}(object(Request)) 
5. at call_user_func(object(Closure), object(Request)) in Pipeline.php line 32 
6. at Pipeline->Illuminate\Routing\{closure}(object(Request)) in ShareErrorsFromSession.php line 49 
7. at ShareErrorsFromSession->handle(object(Request), object(Closure)) 
8. at call_user_func_array(array(object(ShareErrorsFromSession), 'handle'), array(object(Request), object(Closure))) in Pipeline.php line 136 
9. at Pipeline->Illuminate\Pipeline\{closure}(object(Request)) 
10. at call_user_func(object(Closure), object(Request)) in Pipeline.php line 32 
11. at Pipeline->Illuminate\Routing\{closure}(object(Request)) in StartSession.php line 62 
12. at StartSession->handle(object(Request), object(Closure)) 
13. at call_user_func_array(array(object(StartSession), 'handle'), array(object(Request), object(Closure))) in Pipeline.php line 136 
14. at Pipeline->Illuminate\Pipeline\{closure}(object(Request)) 
15. at call_user_func(object(Closure), object(Request)) in Pipeline.php line 32 
16. at Pipeline->Illuminate\Routing\{closure}(object(Request)) in AddQueuedCookiesToResponse.php line 37 
17. at AddQueuedCookiesToResponse->handle(object(Request), object(Closure)) 
18. at call_user_func_array(array(object(AddQueuedCookiesToResponse), 'handle'), array(object(Request), object(Closure))) in Pipeline.php line 136 
19. at Pipeline->Illuminate\Pipeline\{closure}(object(Request)) 
20. at call_user_func(object(Closure), object(Request)) in Pipeline.php line 32 
21. at Pipeline->Illuminate\Routing\{closure}(object(Request)) in EncryptCookies.php line 59 
22. at EncryptCookies->handle(object(Request), object(Closure)) 
23. at call_user_func_array(array(object(EncryptCookies), 'handle'), array(object(Request), object(Closure))) in Pipeline.php line 136 
24. at Pipeline->Illuminate\Pipeline\{closure}(object(Request)) 
25. at call_user_func(object(Closure), object(Request)) in Pipeline.php line 32 
26. at Pipeline->Illuminate\Routing\{closure}(object(Request)) 
27. at call_user_func(object(Closure), object(Request)) in Pipeline.php line 103 
28. at Pipeline->then(object(Closure)) in Router.php line 726 
29. at Router->runRouteWithinStack(object(Route), object(Request)) in Router.php line 699 
30. at Router->dispatchToRoute(object(Request)) in Router.php line 675 
31. at Router->dispatch(object(Request)) in Kernel.php line 246 
32. at Kernel->Illuminate\Foundation\Http\{closure}(object(Request)) 
33. at call_user_func(object(Closure), object(Request)) in Pipeline.php line 52 
34. at Pipeline->Illuminate\Routing\{closure}(object(Request)) in CheckForMaintenanceMode.php line 44 
35. at CheckForMaintenanceMode->handle(object(Request), object(Closure)) 
36. at call_user_func_array(array(object(CheckForMaintenanceMode), 'handle'), array(object(Request), object(Closure))) in Pipeline.php line 136 
37. at Pipeline->Illuminate\Pipeline\{closure}(object(Request)) 
38. at call_user_func(object(Closure), object(Request)) in Pipeline.php line 32 
39. at Pipeline->Illuminate\Routing\{closure}(object(Request)) 
40. at call_user_func(object(Closure), object(Request)) in Pipeline.php line 103 
41. at Pipeline->then(object(Closure)) in Kernel.php line 132 
42. at Kernel->sendRequestThroughRouter(object(Request)) in Kernel.php line 99 
43. at Kernel->handle(object(Request)) in index.php line 54 
は私のルートです

Route::get('/', '[email protected]'); 

     Route::group(['middleware' => 'web'], function() { 
      Route::auth(); 
      Route::get('/admin', '[email protected]'); 
      Route::get('/profile', '[email protected]'); 
      Route::put('/profile/update', '[email protected]eProfile'); 
      Route::get('/page', '[email protected]'); 
      Route::put('/page/update', '[email protected]'); 
      Route::resource('aboutItems', 'AboutItemsController'); 
      Route::resource('portfolioItems', 'PortfolioItemsController'); 
    }); 

ログインフォーム:私は

<div class="login login-v2" data-pageload-addclass="animated fadeIn"> 
      <div class="login-content"> 
       <form class="form-horizontal" role="form" method="POST" action="{{ url('/login') }}"> 
        {!! csrf_field() !!} 

        <div class="form-group{{ $errors->has('email') ? ' has-error' : '' }}"> 
         <label class="col-md-4 control-label">E-Mail Address</label> 

         <div class="col-md-6"> 
          <input type="email" class="form-control" name="email" value="{{ old('email') }}"> 

          @if ($errors->has('email')) 
           <span class="help-block"> 
             <strong>{{ $errors->first('email') }}</strong> 
            </span> 
          @endif 
         </div> 
        </div> 

        <div class="form-group{{ $errors->has('password') ? ' has-error' : '' }}"> 
         <label class="col-md-4 control-label">Password</label> 

         <div class="col-md-6"> 
          <input type="password" class="form-control" name="password"> 

          @if ($errors->has('password')) 
           <span class="help-block"> 
             <strong>{{ $errors->first('password') }}</strong> 
            </span> 
          @endif 
         </div> 
        </div> 

        <div class="form-group"> 
         <div class="col-md-6 col-md-offset-4"> 
          <button type="submit" class="btn btn-primary"> 
           <i class="fa fa-btn"></i>Login 
          </button> 
         </div> 
        </div> 
       </form> 

物事/試して見て:

  • ストレージおよびブートストラップ/キャッシュ内のディレクトリが 書き込み可能であり、PHPの職人キーで新しいキー生成WWW-データ
  • に設定:発生 は、ログインフォームを追加することにより、CSRFトークンを送信していることを確認しましたが{!! Csrf_field()!}
  • は、ある時点で私も結果なしで、全体のプロジェクトのために777に権限を設定しようと
  • セッションは、セッションの設定を変更しよう
  • の代わりにクッキーために適切に設定されている場合、テスト済みキャッシュ、作曲・ダンプ・自動ロードをクリアファイル
  • は、私はタグを形成するために、ちょうど下の私のビューファイルに道を次のようにCSRFのフィールドを使用
  • データベースは
+0

csrfフィールドが生成されていますか?クロムf11を使用して要素をチェックしてください。隠されたフィールドがあるはずです。 –

+0

はいあります。フィールドが生成されています。 – Tim

答えて

0

私のプロジェクトを5.3にアップグレードしましたが、今ではすべてが私のVPSで正常に動作しているようです。私はまだ実際の問題が何だったのか分からない。 Laravelや認証をインストールする際に何か問題が起きた可能性があります。

0

を播種されたすべてのクッキーを削除しました。

<input type="hidden" name="_token" value="{{{ csrf_token() }}}" /> 

これを試すと、これが役立ちます。

+0

私が言ったように、crsfフィールドは正しく生成されています。あなたの例に変更しても、残念ながら問題は解決しません。 – Tim

+0

フォームに入力フィールドが含まれていますか?はいの場合は、ここに書き込むようなトークンを使用する必要があります。 – Nil

+0

申し訳ありませんが、私の回答は不明です。私はあなたの方法を試しました。うまく行かなかった。 – Tim