有时我们常常遇到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
两个项目:
一个是图像处理,其中一个步骤需要将原图片放大三倍,结果页面一片空白什么都没有显示
一个是使用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
评论列表