我是一家大公司的开发人员,该公司有一些遗留代码,在导出函数上需要大量内存。为了解决这个问题, ini_set('memory_limit', '4G'); 用来。
问题是脚本因内存耗尽而崩溃。如果我将限制设置为 2G,则脚本将运行到最后。它甚至没有达到 1GB 的峰值内存使用量。
由于代码是版本化的并与公司的其他人共享,我无法更改限制,并且在我的本地安装中更改它很麻烦。
我的问题是:什么可以使脚本在 4GB 限制但不是 2GB 时崩溃?
PS:我的设置是一台运行 Debian 的虚拟机,带有 nginx 和 php-fpm。vm 有 4GB RAM(尽管改变它似乎没有任何区别)。
[更新]
创建了一个具有 64 位操作系统的新虚拟机,如果我将 vm 内存设置为 2GB,它就可以工作。(如果我使用 4GB 则不会)。由于我对 2GB 没问题,我将关闭此问题。