2012-02-08 53 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 2012-02-08 22:42:19

回答

1

這看起來好像與你的mongo文檔有很長的嵌套子文檔樹一樣。通常這不是問題,但如果你安裝了xdebug,它會限制100個嵌套調用。更改php.ini中的限制將解決您的問題。

xdebug.max_nesting_level = 200 
1

檢查,如果你已經安裝了XDebug。如果你這樣做,你可以在你的php.ini

xdebug.max_nesting_level = 200 

除此之外極限,它看起來像有一個遞歸函數的地方,將需要重寫,以防止觸及該限制。