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.