PHP是否具有固有的内存限制,超出了我的设置范围?

时间:2010-07-23 10:50:33

标签: php

PHP是否内置了可以使用多少内存的限制?换句话说,如果我的机器有很多RAM并且更改php.ini以分配大部分内存,那么脚本是否会达到某个下限?

(如果你很好奇,我的目标是在一个非常大的PHP代码库上运行一个用PHP编写的自动文档生成器。)

3 个答案:

答案 0 :(得分:1)

PHP将消耗尽可能多的费用,这取决于您的操作系统。您不能将PHP的内存限制扩展到您的操作系统提供的范围之外。

答案 1 :(得分:1)

PHP ini directive memory_limit外,您只受机器可用内存的限制。请注意,memory_limit是每个脚本,因此同时运行多个脚本可以实现与服务器相比更多的内存。

答案 2 :(得分:1)

每个进程的最大内存量也可能受操作系统和/或某些可配置资源限制的限制。

E.g。在Windows系统上,每个进程的32位进程限制为2/3/4 GB内存(取决于您使用的是64位版本的Windows还是IMAGE_FILE_LARGE_ADDRESS_AWARE的设置)。 64位进程也可能限制为2GB(清除IMAGE_FILE_LARGE_ADDRESS_AWARE)。
在Linux系统上有类似的限制,并且通常通过ulimit设置限制。