如何增加PHP超过2GB的内存限制?

mik*_*ikg 47 php memory-limit

我有一个问题是增加PHP作为Apache模块的内存限制.

如果我在Apache配置中放入以下指令,那么工作正常:

php_value memory_limit 1.99G
Run Code Online (Sandbox Code Playgroud)

但是超过2GB不起作用,它将这个值恢复到128MB.

这里有什么问题?我需要更多的内存来处理一些PDF相关的任务.

服务器是Debian 2.6.32-5-amd64#1 SMP,PHP 5.3.3-7 + squeeze13,带有12GB物理RAM.

Cla*_*law 45

您是否尝试过以MB为单位的值?

php_value memory_limit 2048M
Run Code Online (Sandbox Code Playgroud)

也可以尝试修改这个值php.ini阿帕奇.


Ray*_*Ray 34

我建议你在错误的视线中看问题.任务应该是'我在做什么,需要在apache进程中使用Php通过apache模块进行2G内存,这个工具集最适合这个工作吗?'

是的,你可以将火箭绑在福特平托上,但它可能不是正确的解决方案.

无论如何,如果你真的需要它我会提供火箭......你可以添加到脚本的顶部.

ini_set('memory_limit','2048M');
Run Code Online (Sandbox Code Playgroud)

这将仅为脚本设置它.你仍然需要告诉apache允许PHP脚本(我认为).

  • 我知道,脚本不是我的,它是一些html2pdf转换器并输入它是非常大的HTML页面. (2认同)
  • 有时你需要火箭 (2认同)

Ind*_*ngh 19

对于设置无限的内存限制-1memory_limit变量:

ini_set('memory_limit', '-1');
Run Code Online (Sandbox Code Playgroud)

  • 这个东西可以工作,但在生产服务器上使用它非常危险,因为它可能会由于代码中垃圾收集不良而导致内存消耗过高而导致整个服务器停机。 (4认同)
  • 很高兴知道无限的内存是可能的,但是,我认为我很快就会在我的代码中使用它.=) (3认同)