PHP - 内存限制

时间:2011-04-25 09:23:18

标签: php

max_execution_time = 30     ; Maximum execution time of each script, in seconds
max_input_time = 60 ; Maximum amount of time each script may spend parsing request data
;max_input_nesting_level = 64 ; Maximum input variable nesting level
memory_limit = 128M      ; Maximum amount of memory a script may consume (128MB)

默认为128MB,一切正常

但是当我像这样编辑php.ini时

 memory_limit = 128000000     ; Maximum amount of memory a script may consume (128MB)

我注意到了:

致命错误:允许的内存大小为262144

128000000 @ 128MB或apache不知道128000000

4 个答案:

答案 0 :(得分:4)

我们不知道当你没有使用最后使用字母写入内存大小的标准方式时,php ini解析器如何处理你的请求。

有一件事是肯定的,虽然它没有加起来262144,但128,000 000永远不会是128MB但更像是122MB因为我确定你知道1MB = 1024 * 1024字节!!

如果你真的需要你正在做的事情,你可能想尝试:128000000b(注意数字末尾的'b')但是我不确定php ini解析器开发者是否认为有人会向他们抛出字节

答案 1 :(得分:3)

正确的方法是使用单位(128M

答案 2 :(得分:0)

如果给定整数,则默认行为是将其解释为字节。见http://php.net/manual/en/ini.core.php。而Yahel指出1MB = 1024字节。因此,如果你想要128MB,你可以写入“128M”或“134217728”

另请记住,您始终可以使用phpinfo();检查内存限制的设置。如果您的php未在配置行中使用--enable-memory-limit编译(如果您之前使用的是版本)比5.2.1)那么这一切都不会起作用。

答案 3 :(得分:0)

你应该写如下。

它应该是8的倍数 memory_limit = 128M;脚本可能消耗的最大内存量(128MB)

默认情况下以MB为单位记忆。