php.ini的memory_limit设置以及Fatal error: Allowed memory size of 134217728 bytes exhausted



名称:
默认值 可修改范围
memory_limit “8M” PHP_INI_ALL

以下是配置选项的简要解释。memory_limit integer
本指令设定了一个脚本所能够申请到的最大内存字节数。这有助于防止写得不好的脚本消耗光服务器上的可用内存。要使用此指令必须在编译的时候激活。因此 configure 一行中应该包括:–enable-memory-limit。如果不需要任何内存上的限制,必须将其设为 -1。
自 4.3.2 起,当激活了 memory_limit,PHP 函数 memory_get_usage() 便可以使用了。
当使用 integer 类型时,其值以字节为度量单位。还可以用简化符号,说明见此 FAQ。

在phpchina的论坛上,有人这样说:
memory_limit是设置PHP使用内存时空间,一般设置为内存的四分之一,应该就查不多了。如512M内存设置128M,1G内存设置256M。设置太大会影响系统速度,因为系统和数据库及其他程序同样需要内存空间,一般系统和数据库内存空间是自己分配的。


以上错误:Fatal error: Allowed memory size of 134217728 bytes exhausted

解释是可用内存已耗尽,这关系到PHP的memory_limit的设置问题。

 

 

这里有两种方法解决

 

1、修改php.ini

 

Php代码 
  1. memory_limit = 128  

 

这种方法需要重启服务器,很显然,此方法对虚拟机有限制。

 

2、通过ini_set函数修改配置选项值

 

Php代码 
  1. ini_set ('memory_limit''128M')  

 很显然, 这种方法更合适。

你可能感兴趣的:(PHP)