2016-04-12 11 views
1

何が起こっているのか探してみてください。 基本的なLaravelプロジェクトを設定しました。これはroute.phpLaravel 5.2、最大機能ネストレベル

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

このテストコントローラ

class TestController extends Controller 
{ 
    public function index() 
    { 
     return view('home'); 
    } 
} 

がhome.blade.phpが来る一つである新しい新鮮Laravelプロジェクト(5.2.29)

です新鮮なLaravelのインストールで、「Laravel 5」を印刷します。私は「ウェブ」のミドルウェアを追加すると

Route::group(['middleware' => ['web']], function() { 
    Route::get('/', '[email protected]'); 
}); 

を以下のように私はこのエラーを取得する:「『100』の最大関数のネストレベルは中止、到達!」。 私はXdebugをに関するいくつかのスレッドを読んで、私は

xdebug.max_nesting_level = 1000 

をxdebug.iniするために、この行を追加しますが、何も変わっていません。

助けが必要ですか?他に何が確認できるかについての提案はありますか? ありがとう

+0

を引き起こす可能性があるため、ミドルウェアがwebミドルウェア・グループに含まれているか確認する必要があります。 –

+2

変更後にWebサーバーを再起動しましたか? (apache、nginxなど) –

答えて

3

webミドルウェアは、すべてのルートに自動的に適用されるようになりました。したがって、v5.2.27以降、エラーを避けるためにwebミドルウェアを適用する必要はありません。

+0

これは問題です。私のフレームワークのバージョンは5.2.29なので、デフォルトで "web"ミドルウェアが適用されます。大いに感謝する。とにかく、これは私にとって本当に驚きです。マイナーリリースによるこのような大きなアップデートは、私のアプリケーションを壊すことにつながります。本番環境でこのアプリケーションを使用してアップグレードを実行した場合はどうなりますか? 多分それはofftopicです、ボットどのようにこれに直面しますか?これらの問題を回避するために、フレームワークのアップグレードを実行するか、アップグレードをスキップすることはよくありますか? それ以外:マイナーリリース間のあらゆる変更にどのように最新の状態を保ちますか? Laravelのウェブサイトでは、メジャーリリースのチェンジログしか見つけることができません。 – user2029958

+0

Laravelのアップデートについて質問しているときに、既にかなり大きなアプリがある場合は更新しないことをおすすめします。 Laravelの開発者は多くの場合、後方互換性を壊していました(例えば、Symfony開発者はそれをしません)。私はまだ実際には本当に本当に古いphpbb2のバージョンを使用する1つの本当に巨大なウェブサイトを知っている、開発者は同じ理由で更新されません。 –

+0

ああ申し訳ありませんが、アレクセイは、一番上に表示されているので、それを最初に読んでください。 – user2029958

2

新しいアプリケーション(インストール時には5.2.27)をインストールした場合、webミドルウェアグループは自動的に適用されるため、使用する必要はありませんが、5.2.27より前のバージョンをインストールし、 5.2.27以降の場合でも、それを使用する必要があります。

ウェブミドルウェアグループが自動的に適用される場合は、最初にapp/Providers/RouteServiceProvider.phpを確認する必要があります。はいの場合は、予期しない動作が発生する可能性があるため、routes.phpから削除する必要があります。

それが当てはまらないなら、あなたはそれらのいくつかは、更新を構成し、それが動作するかどうかを確認してください問題

関連する問題