Решение для "Фатальная ошибка: достигнут максимальный уровень вложенности функции '100', прерывание!"в PHP - PullRequest
126 голосов
/ 28 декабря 2011

Я создал функцию, которая находит все URL-адреса в html-файле и повторяет один и тот же процесс для каждого html-содержимого, связанного с обнаруженными URL-адресами. Функция рекурсивная и может продолжаться бесконечно. Однако я наложил ограничение на рекурсию, установив глобальную переменную, которая вызывает остановку рекурсии после 100 рекурсий.

Однако php возвращает эту ошибку:

Неустранимая ошибка: достигнут максимальный уровень вложенности функции '100', прерывание! в D: \ wamp \ www \ crawler1 \ simplehtmldom_1_5 \ simple_html_dom.php на линии 1355

ERROR

Я нашел решение здесь: Увеличение лимита вызовов для функции вложенности , но в моем случае это не работает.

Я цитирую один из ответов по ссылке, указанной выше. Пожалуйста, примите это во внимание.

"У вас установлены Zend, IonCube или xDebug? Если это так, то, вероятно, именно откуда вы и получаете эту ошибку.

Я столкнулся с этим несколько лет назад, и в итоге Zend установил этот предел, а не PHP. Конечно, его удаление> позволит вам пройти 100 итераций, но в итоге вы достигнете пределов памяти. "

Есть ли способ увеличить максимальный уровень вложенности функций в PHP

Ответы [ 21 ]

0 голосов
/ 06 декабря 2015

У меня была ошибка, когда я устанавливал много плагинов. Итак, ошибка 100 показала, включая местоположение последнего плагина, который я установил, C: \ wamp \ www \ mysite \ wp-content \ plugins \ "...", поэтому яудалил эту папку плагинов на диске C: затем все вернулось к норме. Я думаю, что мне нужно ограничить количество плагинов, которые я устанавливаю или активировал. Удачи, надеюсь, это поможет

...