在php.ini里增加内存,特别是做一些费内存的操作在某个特定的程序里,通过解除PHP内存分配限制。

jackxiang 2010-7-10 13:47 | |
虽然Drupal核心的运行只需要你的服务器分配8MB的内存,但是根据你站点上使用的模块数量,你可能需要增加些内存分配。当你访问?q=admin/moudles时会加载你站点上的所有模块,不管你是否启用。如果你出现了白屏,你只有两个选择:增加分配给PHP的内存,或者删除不使用的模块。

根据你的主机的不同,有几个地方都可以完成这个配置,一般是php.ini,或者htaccess,具体要看你的主机状态。
比如:

在你的php.ini文件里设置memory_limit = 12M(推荐使用,如果你拥有这个权限的话)
在你的sites/default/settings.php文件里设置ini_set('memory_limit','12M');
在你的Drupal根目录下的.htaccess文件中设置php_value memory_limit 12M
你需要做点试验来确定最适合你的值。


以下转自:http://hi.baidu.com/shshgm/blog/item/3aaf75dd41460ee676c63898.html
两个项目

一个是图像处理,其中一个步骤需要将原图片放大三倍,结果页面一片空白什么都没有显示

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

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

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

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

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

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

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

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


最后编辑: jackxiang 编辑于2012-5-11 10:08
评论列表
发表评论

昵称

网址

电邮

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