2012-10-24 45 views
1

我不知道是什麼原因導致此錯誤。我正在Magento商店的一個自定義模塊上工作,並沒有定期檢查商店的主頁。今天突然間,我在我的主頁上發現了這個錯誤。Magento - 致命錯誤:達到'100'的最大功能嵌套級別,正在中止

Fatal error: Maximum function nesting level of '100' reached, aborting! in C:\Program Files\EasyPHP-5.3.8.0\www\indieswebs\lib\Zend\Db\Adapter\Pdo\Mysql.php on line 1045 

有趣的是,有在這個文件中沒有1045行號!所以我猜測這是某種循環錯誤。但我不知道是什麼原因造成的。任何人都可以幫助我找出可能導致此特定錯誤的原因,並且我該如何刪除它?

編輯:我從商店刪除緩存並重新加載主頁。錯誤現在已經改變。它說: 致命錯誤:在C:\ Program Files \ EasyPHP-5.3.8.0 \ www \ indieswebs \ lib \ Zend \ Db \ Select.php在線的累計內存大小268435456字節耗盡(試圖分配261904字節) 281

有誰知道如何解決這個問題?

回答

3

錯誤只在安裝xdebug時出現。

使用以下php.ini中 xdebug.max_nesting_level設置= 200

+0

我嵌套級別設置爲1000。它仍然顯示了同樣的錯誤。 – jdhaar

+0

設置嵌套之前,您是否檢查過服務器上是否安裝了XDebug?另請檢查phpinfo值是否設置正確。 此外,如果你不需要xdebug比你應該評論該擴展。 –

+0

xdebug已安裝,但我在php.ini文件中評論它。但仍然存在錯誤。另外,它需要很長的時間來加載主頁!在那段時間之後,它會返回致命的錯誤。 – jdhaar

0

我在Collection.php模型得到了這一點,而罪魁禍首竟然是調用parent::__construct()。一旦我將它解決出來,錯誤消失了。 PS:提高xdebug嵌套級別限制不起作用。

0

我能夠在[根目錄]檢查文件,以解決相關的問題(導致同樣的錯誤消息)/應用程序的/ etc/

它發生(在企業版),因爲

config.xml 
enterprise.xml 

從該目錄中丟失。一旦我把它們放回去,解決了這個問題。

我也在其他地方看到,格式不正確的local.xml可能會導致此問題。

在企業版中,使用類似:

 <default_setup> 
      <connection> 
       <host><![CDATA[localhost]]></host> 
       <username><![CDATA[some_user]]></username> 
       <password><![CDATA[some_pass]]></password> 
       <dbname><![CDATA[database_name]]></dbname> 
       <active>1</active> 
      </connection> 
     </default_setup> 

在CE,使用類似:

<default_setup> 
     <connection> 
      <host><![CDATA[localhost]]></host> 
      <username><![CDATA[your_user]]></username> 
      <password><![CDATA[your_pass]]></password> 
      <dbname><![CDATA[your_db]]></dbname> 
      <initStatements><![CDATA[SET NAMES utf8]]></initStatements> 
      <model><![CDATA[mysql4]]></model> 
      <type><![CDATA[pdo_mysql]]></type> 
      <pdoType><![CDATA[]]></pdoType> 
      <active>1</active> 
     </connection> 
    </default_setup> 
相關問題