valet significado php laravel-5 homestead

significado - php y laravel



Se alcanzó el nivel máximo de anidación de función de ''100'', abortando después de actualizar a Laravel 5.1 (2)

Recibo este mensaje de error en mi aplicación Laravel después de actualizar a Laravel 5.1.

FatalErrorException in Dispatcher.php line 200: Maximum function nesting level of ''100'' reached, aborting!

Este problema ocurre en algunas URL de mi aplicación. He hecho docenas de composer update de composer update pero el problema aún persiste. Cualquier sugerencia será apreciada


El problema es causado por defecto xdebug.max_nesting_level que es 100.

La solución por el momento es aumentar xdebug.max_nesting_level a un cierto nivel, digamos 200 o 300 o 400

Reparé el mío aumentando xdebug.max_nesting_level a 120, agregando la línea siguiente a bootstrap/autoload.php en Laravel 5.1

ini_set(''xdebug.max_nesting_level'', 120);

.........

define(''LARAVEL_START'', microtime(true));


El problema se crea debido a la extensión de 1 PHP en Apache- php_xdebug

Entonces, la solución es-

  1. Deshabilitar la extensión
  2. Aumenta el nivel de anidamiento de la extensión
  3. Aumentando max_nesting_level en laravel

En detalle

Opción 1-

Para deshabilitarlo, puedes seguir esto .

Si está usando WAMP Server , puede hacerlo fácilmente visitando php.ini -

Y luego cometer esto-

zend_extension = "c:/WAMP/bin/php/php5.5.12/zend_ext/php_xdebug-2.2.5-5.5-vc11-x86_64.dll"

  • Path debe ser diferente de PC a PC
  • Agregar un # antes de la línea es un comentario

Opcion 2-

Puede aumentar el límite de esta manera.

Si está usando WAMP Server , puede hacerlo fácilmente visitando php.ini -

Y después de zend_extension = "c:/WAMP/bin/php/php5.5.12/zend_ext/php_xdebug-2.2.5-5.5-vc11-x86_64.dll" , debería haber algo como esto-

[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

Entonces, solo agrega 1 línea allí-

xdebug.max_nesting_level=500

Opción 3-

También puede establecer esta configuración en el archivo Laravel autoload.php .

Simplemente puede agregar esta línea en el archivo (en cualquier lugar del archivo) -

ini_set(''xdebug.max_nesting_level'', 500);

Y habrás terminado :)