Laravel 5.1。にアップグレードした後、私のLaravelアプリケーションでこのエラーメッセージが表示されます。
FatalErrorException in Dispatcher.php line 200:
Maximum function nesting level of '100' reached, aborting!
この問題は、アプリの一部のURLで発生します。私は何十ものcomposer update
ですが、問題は解決しません。すべての提案は高く評価されます
この問題は、デフォルトの_xdebug.max_nesting_level
_(100)が原因で発生します。
現時点での回避策は、_xdebug.max_nesting_level
_を200、300、400などの特定のレベルに増やすことです。
Laravel 5.1の_bootstrap/autoload.php
_に以下の行を追加することにより、xdebug.max_nesting_levelを120に増やして私の問題を修正しました。
ini_set('xdebug.max_nesting_level', 120);
.........
define('LARAVEL_START', microtime(true));
この問題は、1 PHP Apacheの拡張機能- php_xdebug が原因で作成されます。
したがって、解決策は
max_nesting_level
in laravelオプション1-
それを無効にするには、 this に従います。
WAMPサーバー を使用している場合は、php.ini-
そして、これをコミットします
zend_extension = "c:/WAMP/bin/php/php5.5.12/zend_ext/php_xdebug-2.2.5-5.5-vc11-x86_64.dll"
オプション2-
制限は this の方法で増やすことができます。
WAMP Server を使用している場合は、php.ini-に移動することで簡単に実行できます。
以降 zend_extension = "c:/WAMP/bin/php/php5.5.12/zend_ext/php_xdebug-2.2.5-5.5-vc11-x86_64.dll"
、このようなものがあるはずです-
[xdebug]
xdebug.remote_enable = off
xdebug.profiler_enable = off
xdebug.profiler_enable_trigger = off
xdebug.profiler_output_name = cachegrind.out.%t.%p
xdebug.profiler_output_dir = "c:/WAMP/tmp"
xdebug.show_local_vars=0
次に、そこに1行追加するだけです。
xdebug.max_nesting_level=500
オプション3-
この設定はLaravel autoload.php ファイルでも設定できます。
この行をファイルに追加するだけです(ファイル内の任意の場所)。
ini_set('xdebug.max_nesting_level', 500);
そして、あなたは行われます:)
この問題はxdebug拡張機能が有効になっているために発生します。これを修正するには、xdebug拡張機能を無効にするか、php.iniファイルを編集してxdebug.max_nesting_levelを200に変更する必要があります(デフォルトでは、このパラメーターはphp.iniと追加する必要があります)
お気に入り :
xdebug.max_nesting_level = 2