parametros otro otra manejo llamar funciones funcion formulario desde dentro php xdebug

php - otro - Aumenta el límite de llamadas a funciones de anidamiento



llamar funcion php desde otro php (4)

Hay un límite muy malo en PHP: si llama a alguna función a1 () que llama a2 (), eso llama a3 ... entonces cuando a99() llamará a100() verá

Error fatal: se alcanzó el nivel máximo de anidación de la función de ''100'', abortando!

¿Hay alguna forma de aumentar el límite de 100 llamadas de anidación a 500 o 10000?

Esto es crítico para mí porque estoy desarrollando un sistema basado en eventos con muchas devoluciones de llamada.


¿Tienes instalado Zend, IonCube o xDebug? Si es así, es probable que de aquí provenga este error.

Me encontré con esto hace unos años, y terminó siendo Zend poniendo ese límite allí, no PHP. Por supuesto que eliminarlo te permitirá superar las 100 iteraciones, pero eventualmente llegarás a los límites de la memoria.


Este mensaje de error proviene específicamente de la extensión XDebug. PHP en sí mismo no tiene un límite de anidación de funciones. Cambia la configuración en tu php.ini:

xdebug.max_nesting_level = 200

o en tu código PHP:

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

En cuanto a si realmente necesita cambiarlo (es decir: si hay una solución alternativa a una función recursiva), no puedo decirlo sin el código.


Personalmente, sugeriría que se trata de un error en comparación con una configuración que debe ajustarse. En mi código era porque tenía una clase que tenía el mismo nombre que una biblioteca dentro de uno de mis controladores y parecía que se había estropeado.

Errores de salida y vea dónde se está desencadenando esto.


Si está utilizando XDebug (con XAMPP, por ejemplo), puede establecer el nivel de anidación al agregar esto al archivo php.ini (sugiero ponerlo en la parte inferior del archivo):

[XDebug] zend_extension = "C:/xampp/php/ext/php_xdebug.dll" ; Other settings if needed xdebug.max_nesting_level = 500

Esto establecerá el límite 500 pero podría ser más si es necesario. Solo enlace al archivo php_xdebug.dll