PHP最大内存限制和Apache进程内存消耗

PHP最大内存限制如何影响Apache进程消耗的内存? 如果例如我已经将它设置为256MB,这是否意味着每个进程将尝试分配这个数量的内存,或所有的进程一起或什么?

PHP的内存限制是将在PHP中分配的最大内存量。 在默认的MPM中,这意味着每个Apache孩子最多将使用(Apache开销+ memory_limit)字节的RAM。 当然,这也会打折其他扩展也分配内存的可能性,但这是一个单独的问题。 最后,应该注意的是,在启动时,孩子们不会预先分配RAM的memory_limit字节; 这只是根据需要强制执行的一个硬帽。

但是,大约100ms ,它使用memory_limit。 我的虚拟主机安装了CloudLinux,具有合理的256MB内存限制。 我的AJAX代码,同时调用4个PHP页面,突然停止工作,500错误。 (错误地怀疑了很多东西)在这个服务器上,memory_limit是128MB,主机好心地把它减less到了64MB。 加载5个PHP页面(实际上是基本的HTML,保存为.php扩展名)作为我的主页,我能够消除任何Javascript或PHP代码。 CloudLinux给了500错误 – 但这里是加载5的“php”:

<!DOCTYPE html> <html> <head> <meta charset="utf-8" /> <title>First Page</title> </head> <body> <h1>First Page</h1> </body> </html> 

所以,具体来说,它确实使用了RAM的memory_limit – 只是在很短的时间内,大概是为了testing分配的可能性。 这成为一个CloudLinux(好主意),高PHP memory_limit和代码调用多个PHP页面的问题。