Ce message d'erreur s'affiche dans mon application Laravel après la mise à niveau vers Laravel 5.1.
FatalErrorException in Dispatcher.php line 200:
Maximum function nesting level of '100' reached, aborting!
Ce problème se produit sur certaines URL de mon application. J'ai fait des dizaines de composer update
mais le problème persiste. Toute suggestion sera appréciée
Le problème est créé à cause de l'extension 1 PHP dans Apache- php_xdebug
Donc, la solution est-
max_nesting_level
en laravelOption 1-
Pour le désactiver, vous pouvez suivre this .
Si vous utilisez Serveur WAMP , vous pouvez facilement le faire en allant à php.ini -
Et puis commettez this-
zend_extension = "c:/WAMP/bin/php/php5.5.12/zend_ext/php_xdebug-2.2.5-5.5-vc11-x86_64.dll"
Option 2-
Vous pouvez augmenter la limite de this way.
Si vous utilisez Serveur WAMP , vous pouvez le faire facilement en allant à php.ini -
Et après zend_extension = "c:/WAMP/bin/php/php5.5.12/zend_ext/php_xdebug-2.2.5-5.5-vc11-x86_64.dll"
, il devrait y avoir quelque chose comme ceci-
[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
Ensuite, ajoutez simplement 1 ligne
xdebug.max_nesting_level=500
Option 3-
Vous pouvez également définir cette configuration dans Laravel autoload.php file.
Vous pouvez simplement ajouter cette ligne dans le fichier (n'importe où dans le fichier) -
ini_set('xdebug.max_nesting_level', 500);
Et vous aurez fini :)
Ce problème est dû au fait que l'extension xdebug est activée. Pour résoudre ce problème, vous devez soit désactiver l'extension xdebug, soit modifier le fichier php.ini et modifier xdebug.max_nesting_level en 200 (ce paramètre n'est pas inclus php.ini et je dois l'ajouter)
comme :
xdebug.max_nesting_level = 200