有时我们常常遇到PHP内存不足的情况,主要是做大运算,大视频图片读取及其传输等。下面是一个很方便快捷的解决方法:
两个项目:
一个是图像处理,其中一个步骤需要将原图片放大三倍,结果页面一片空白什么都没有显示

一个是使用FPDF生成PDF文件,在加载字体文件的时候默默的罢工

以上两个问题最终都发现是由于默认的PHP内存分配不足所致

PHP为防止编写不良的脚本无休止的申请内存,对每个脚本在执行期间所能申请的内存最大值都有限制,这一般是写在php.ini文件内。一般而言只需要修改此配置文件,将数值改大一些就可以解决问题。而如果使用虚拟空间或者是没有修改配置文件的权限,就只能从PHP上想办法。下面这条语句就是解决这个问题的。

ini_set("memory_limit","10M");

上句可以将本次脚本执行时所能申请的内存最大值改为10M,如果想可以无限申请内存,语句如下:

ini_set("memory_limit","-1");

这样的设置将仅仅影响被设置的脚本。一旦脚本执行完毕,该配置将自动恢复到原始值