我不知道导致此错误的原因。我正在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个字节)< / strong>
有谁知道如何解决这个问题?
答案 0 :(得分:3)
只有在安装xdebug时才会出现错误。
在php.ini中使用以下设置 xdebug.max_nesting_level = 200
答案 1 :(得分:0)
我在我的Collection.php模型中得到了这个,罪魁祸首证明是对parent::__construct()
的调用。一旦我把它重新整理出来,错误就消失了。 PS:提高xdebug嵌套级别限制不起作用。
答案 2 :(得分: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>