PHP.ini 文件中 memory_limit = -1 是什么意思?

PHP.ini 文件中 memory_limit = -1 是什么意思?

我在一些 ubuntu 服务器配置中发现我的服务器上的内存(在线资源说默认值通常是 128Mb 正确吗?)

我发现这个列表

memory_limit = -1

为什么?-1 值有什么作用?php 5.6

答案1

来自官方文档这里

这设置了允许脚本分配的最大内存量(以字节为单位)。这有助于防止编写不当的脚本耗尽服务器上的所有可用内存。请注意,要不受内存限制,请将此指令设置为 -1。

答案2

memory_limit = -1

简单来说就是“没有内存限制”,意思是:让脚本使用操作系统和其他重要进程运行剩下的内存。因此,如果机器有 4GIG,而操作系统 + 其他进程使用 2GIG,那么您的脚本将获得剩余的 2GIG。

来自官方文档,重要的是最后一句话!

内存限制 int

设置脚本允许分配的最大内存量(以字节为单位)。这有助于防止编写不当的脚本耗尽服务器上所有可用内存。请注意,若要不受内存限制,请将此指令设置为 -1。

我所说的内存是指“RAM 和虚拟内存”

答案3

不要这样做。显然 php 某处存在内存泄漏,而您告诉服务器只使用它想要的所有内存。问题根本没有得到解决。如果您监控服务器,您会发现它现在可能正在使用大部分 RAM,甚至交换到磁盘。

相关内容