解除PHP内存分配限制

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

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

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

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

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

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

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

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

来源:http://hi.baidu.com/dreamtonk/blog/item/320318fc0cff8853d7887d86.html
深入理解PHP内存管理之谁动了我的内存:
http://www.laruence.com/2011/03/04/1894.html

作者:jackxiang@向东博客 专注WEB应用 构架之美 --- 构架之美,在于尽态极妍 | 应用之美,在于药到病除
地址:http://jackxiang.com/post/4451/
版权所有。转载时必须以链接形式注明作者和原始出处及本声明!


最后编辑: jackxiang 编辑于2011-7-10 00:12
评论列表
发表评论

昵称

网址

电邮

打开HTML 打开UBB 打开表情 隐藏 记住我 [登入] [注册]