PHP的memory_limit限制

PHP的memory_limit限制

在装DiscuzX1的时候出现了memory exhaust的错误,解决方法如下:

Fatal error:Allowed memory size of134217728bytes exhausted(tried to allocate1099bytes)in

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

这里有两种方法解决

1、修改php.ini

Php代码

memory_limit=128

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

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

Php代码

ini_set('memory_limit','128M')

工作上有很多事情会用到php写script,

有些script需要较大量的memory,你可能会看到类似「Allowed memory size of8388608bytes exhausted(tried to allocate46080bytes)in.....」的讯息。

这是因为php.ini里的memory_limit不够大的关系。

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