2012-02-08 3 views
1

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

Fatal error: Maximum function nesting level of '100' reached, aborting! in /var/www/apps/vitals-app/releases/20120127155310/libraries/lithium/util/Collection.php on line 110 

Call Stack: 
    0.0077  634440 1. {main}() /var/www/apps/vitals-app/releases/20120127155310/app/webroot/index.php:0 
    0.4413 6223432 2. lithium\action\Dispatcher::run() /var/www/apps/vitals-app/releases/20120127155310/app/webroot/index.php:41 
    0.4413 6225544 3. lithium\core\StaticObject::_filter() /var/www/apps/vitals-app/releases/20120127155310/libraries/lithium/action/Dispatcher.php:123 
    0.4413 6228576 4. lithium\util\collection\Filters::run() /var/www/apps/vitals-app/releases/20120127155310/libraries/lithium/core/StaticObject.php:126 

Полный след здесь: http://pastium.org/view/73b48fb1848e65b61607a33de4f49b55

+1

Каков был код, вызывающий эту проблему? Это связано с рекурсией, и все, что я могу догадываться без дополнительной информации, заключается в том, что у вас есть рекурсивный метод, который либо никогда не возвращается, либо содержит ошибочную логику, поэтому он бесконечно циклически. – mrlee

ответ

1

Это похоже, что это связано с вашим документом mongo, имеющим очень длинное дерево вложенных поддокументов. Обычно это не проблема, но если у вас установлен xdebug, это ограничивает 100 вложенных вызовов. Изменение предела в php.ini поможет устранить проблему.

xdebug.max_nesting_level = 200 
1

Проверьте, если вы XDebug установлен. Если вы это сделаете, вы можете до предела в вашем php.ini

xdebug.max_nesting_level = 200 

Кроме того, это выглядит как есть рекурсивная функция где-то, что будет нужно переписывать, чтобы предотвратить попадания этого предела.

Смежные вопросы