PHP .ini 中 memory_limit 是 125 M,用 memory_get_usage() 计算组装数组前后内存占用已经超过 200 M,为什么这个 PHP 进程不会崩溃呢?

2019-01-10 11:14:08 +08:00
 NicolayShi
php 运行过程中组装了一个 23 万个 元素的大数组,
2770 次点击
所在节点    PHP
3 条回复
haiyang416
2019-01-10 11:20:43 +08:00
你要先确认 memory_get_usage 返回的数量到底是多少,单位有没有算错。
xifangczy
2019-01-10 11:30:52 +08:00
也有可能用 ini_set() 重新设置了 memory_limit 的值
NicolayShi
2019-01-10 11:45:18 +08:00
$start_memory = memory_get_usage();
~~~(组装数组代码)
$end_memory = memory_get_usage();
var_dump('内存~~~~~'.($end_memory - $start_memory)/ 1024 / 1024);
以上为内存占用计算代码,
也没有使用 ini_set() 重新设置 memory_limit,

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/525633

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX