1

我不知道是什么导致了这个错误。我正在我的 Magento 商店上开发一个自定义模块,并且没有定期检查商店的主页。今天出乎意料的是,我的主页上出现了这个错误。

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 行号!所以我猜这是某种循环错误。但我不知道是什么原因造成的。谁能帮我找出可能导致此特定错误的原因以及如何将其删除?

编辑:我从商店中删除了缓存并重新加载了主页。现在错误已经改变。它说: 致命错误:在第 281 行的 C:\Program Files\EasyPHP-5.3.8.0\www\indieswebs\lib\Zend\Db\Select.php 中允许的内存大小为 268435456 字节已用尽(试图分配 261904 字节)

有谁知道如何解决这个问题?

4

3 回答 3

3

该错误仅在您安装 xdebug 时出现。

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

于 2012-10-24T09:45:33.893 回答
0

通过检查 [webroot]/app/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>
于 2013-09-02T08:39:02.403 回答
0

我在我的 Collection.php 模型中得到了这个,罪魁祸首原来是对parent::__construct(). 一旦我把它重新整理出来,错误就消失了。PS:提高 xdebug 嵌套级别限制不起作用。

于 2012-12-23T14:16:02.237 回答