PHP是否内置了可以使用多少内存的限制?换句话说,如果我的机器有很多RAM并且更改php.ini
以分配大部分内存,那么脚本是否会达到某个下限?
(如果你很好奇,我的目标是在一个非常大的PHP代码库上运行一个用PHP编写的自动文档生成器。)
答案 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设置限制。