2011-10-31 155 views
1

我在Cakephp中遇到了問題。因爲它在Local上運行良好。這裏是錯誤CakePHP嵌套級別錯誤

Fatal error: Maximum function nesting level of '100' reached, aborting! in /var/www/tanuki/cake/libs/folder.php on line 261

您還可以檢查此鏈接for more information

請告訴我是什麼問題

+2

顯示相關代碼,而不是鏈接。 :-) – CodeCaster

+0

@CodeCaster:沒有代碼可以顯示,因爲它在本地工作正常 –

+0

您是否知道XDebug是否安裝在該主機上?我也發現一個相關的問題有限的函數嵌套:http://stackoverflow.com/questions/4293775/increasing-nesting-functions-calls-limit。接受的答案指出,XDebug(PHP的調試擴展)可能會限制函​​數的嵌套,並且PHP自身沒有這種限制。 代碼總是有幫助的,即使它在本地運行良好。 ;) – mensch

回答

1

該錯誤只意味着你的調用堆棧已達到100項和韓元的最大數量不要再走了。這不是真正的問題。

確保在config/core.php中將您的調試設置設置爲0,並檢查您的web服務器的error_log是否存在可能導致此問題的任何潛在問題。

2

有些東西正在引起遞歸,你的目標是找到它是什麼。 最簡單的方法是調試...在第261行的/var/www/tanuki/cake/libs/folder.php中設置一個斷點,運行腳本,並在遇到斷點時分析調用堆棧的異常情況。

另一方面,遞歸可能是由內部錯誤引起的。您可以覆蓋的AppController類系統和appError(自定義錯誤處理程序)方法:

public function appError($method, $messages) 
{ 
    die('Application error: called handler method '.$method); 
} 

這會給你什麼遺漏的部分造成的提示(例如文件或類部件,元件等。)遞歸。