Проблема с вложением функций в Lithium PHP - PullRequest
1 голос
/ 09 февраля 2012

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

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

Ответы [ 2 ]

1 голос
/ 09 февраля 2012

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

xdebug.max_nesting_level = 200
1 голос
/ 09 февраля 2012

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

xdebug.max_nesting_level = 200

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

...