代码点火器中突然发生 PHP 内存泄漏


Sudden PHP Memory Leak in Codeigniter

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

我正在测试一项新功能,一切顺利。没问题。每次都在屏幕上构建 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)首先我必须安装xDebug。(https://xdebug.org/wizard.php)

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

我已经达到了代码点火器中允许的最大嵌套限制。这是由于在模型中加载模型并再次加载回来。我没有意识到不允许跨模型使用。

因此,我将主模型的基于类的构造加载移动到 autoload.php 文件中。

这让事情再次加载。