2 回答
TA贡献1797条经验 获得超4个赞
每个传入的请求都由您的 Web 服务器(例如 Apache)处理。现在,根据网络服务器的配置方式,它会为每个请求创建一个新进程。
php_value内存限制2M
读取和处理 PHP 脚本的单个进程最多允许消耗 2mb。
PHP memory_limit 是针对每个脚本的,就像高速公路的速度限制是针对每辆车一样。例如,尽管 PHP 的内存限制可能设置为高至 1GB,但这并不意味着脚本会堆积起来以使用该 1GB。
因此,举个例子,如果 10 个用户同时访问/index.php,您的 Web 服务器将总共使用 10x 500kb (5mb) 内存,但这样也没有问题,因为每个用户之前都允许达到 2mb并抛出错误。
例如,如果 5 个用户同时打开我的 index.php,那么内存使用量合计是 5x500KB=2.5MB 还是每个用户 500KB 内存,即使 10 个用户同时打开我的 index.php 也没关系
这个问题的措辞有点奇怪,但不,PHP 的内存限制是每个进程/请求,所以你会没事的。每个人最多可以消耗 2mb 的内存。
如果合并所有用户的内存使用情况,我仍然需要将 .htaccess 更改为更大的内存限制。
它没有合并。
最后,PHP 的默认内存限制(128mb)适合大多数应用程序。我的建议是保留它,除非您有充分的理由更改它。
TA贡献1735条经验 获得超5个赞
PHP手册的描述是memory_limit
这样的:
这设置允许脚本分配的最大内存量(以字节为单位)。
当这里说“脚本”时,它并不是指磁盘上的特定 URL 或文件,而是指该脚本的特定执行- 最常见的是对 Web 服务器的特定请求。
因此,如果您有多个用户请求同一页面,他们每个人都会获得 2 MB 的“限额”(这对于现代服务器来说是一个非常低的限制!)。
请注意,这并不意味着为每个请求预先分配 2 MB。这意味着,如果 PHP 决定需要更多,它将立即停止处理页面,给用户留下一个纯白色的页面,并在日志中显示错误。
- 2 回答
- 0 关注
- 112 浏览
添加回答
举报