访问网站的不同人之间是否共享PHP内存限制?

时间:2015-06-09 00:00:41

标签: php

我做了一些搜索,但得到了很多共享托管类型的响应。我正在使用不同的Amazon EC2。

我的问题是,如果我给PHP的内存限制为512MB,那么访问该网站的人/会话限制是多少?或者总共支持PHP?

例如,如果有两个人同时访问该网站。

  • 用户1使用10MB
  • 用户2使用12MB

是否使用了512MB的22MB?

或者每个人有512MB的内存,所以用户1剩下502MB而用户2剩下500MB?

1 个答案:

答案 0 :(得分:4)

您的后一个猜想是正确的 - 内存限制适用于每个PHP进程。任何进程都可能必须分配一定的最小/最大RAM量。以Java为例,其中初始RAM分配是在-Xms128M -Xmx512M中明确完成的。

对于PHP,RAM最初会分配最少量的内存(8 MB?),但它可以增长到php.ini或memory_limit()中指定的限制。一旦流程达到该限制,您的脚本就会崩溃Fatal error: Allowed memory size of x bytes exhausted

PHP无法自我调节其全局RAM使用率。如果你真的想这样做,一个选项是检查PHP脚本开头的总系统空闲RAM,如此处所述,如果超过阈值,则发送系统重载消息。