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
答案 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为单位记忆。