Codeigniter中突然发生PHP内存泄漏

时间:2016-03-22 20:57:28

标签: php codeigniter memory out-of-memory

编码时昨天开始发生了一些非常奇怪的事情。

我正在测试一个新功能,一切都很顺利。没有问题。每次都在屏幕上构建json对象和print_r,以检查测试方法中对象的成功构建。

当我在代码库中实现它时,它仍然可以正常工作。然后我去改变一种不同的方法,更新代码以使用这种新方法并测试它的相关屏幕,所有工作都很好。

然后在页面上重新加载(看到一切正常后),我收到了PHP内存泄漏错误。

致命错误:在第901行的D:\ public_html \ genesis \ system \ core \ Common.php中,允许的内存大小为1342177280字节(试图分配65488字节)

无论我隔离什么,都会发生这种情况。

我甚至将索引页面转换为:

public function index() {
        echo 'Hello World';
    //$this->buildPage("login");    
}

它仍然会抛出错误。

我目前有这个用于内存限制:

memory_limit=2480M

那是在1280,然后我又增加了1200,但仍然没有区别。

我的其他网站正在加载,只是这个。但我似乎无法解决它,因为我无法获得任何方法来加载。

还有其他人有这个问题吗?

关于如何弄明白的任何想法?

1 个答案:

答案 0 :(得分:3)

好的,所以我弄清楚了,这就是我做了什么以及发生了什么。

1)首先我必须安装xDebug。 (https://xdebug.org/wizard.php

2)然后我可以在尝试加载页面时看到错误。

我在Codeigniter中达到了允许的最大嵌套限制。这是因为在模型中加载模型并再次加载。我没有意识到不允许交叉模型使用。

所以我将基于类的构造加载主要模型移动到autoload.php文件。

这让事情再次加载。