Saltar al contenido

Solución para “Error fatal: Se alcanzó el nivel máximo de anidamiento de funciones de ‘100’, ¡abortando!” en PHP

Es importante comprender el código correctamente previamente a usarlo a tu proyecto si tdeseas aportar algo puedes comentarlo.

Solución:

Aumentar el valor de xdebug.max_nesting_level en tus php.ini

Una solución simple resolvió mi problema. Acabo de comentar esta línea:

zend_extension = "d:/wamp/bin/php/php5.3.8/zend_ext/php_xdebug-2.1.2-5.3-vc9.dll

en mi php.ini expediente. Esta extensión limitaba la pila a 100 así que lo deshabilité. La función recursiva ahora está funcionando como se esperaba.

En lugar de buscar llamadas de función recursivas, trabaje con un modelo de cola para aplanar la estructura.

$queue = array('http://example.com/first/url');
while (count($queue)) 
    $url = array_shift($queue);

    $queue = array_merge($queue, find_urls($url));


function find_urls($url)

    $urls = array();

    // Some logic filling the variable

    return $urls;

Hay diferentes formas de manejarlo. Puede realizar un seguimiento de más información si necesita alguna información sobre el origen o las rutas atravesadas. También hay colas distribuidas que pueden funcionar con un modelo similar.

Al final de todo puedes encontrar las ilustraciones de otros creadores, tú incluso eres capaz dejar el tuyo si te apetece.

¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)



Utiliza Nuestro Buscador

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *