我不确定内存是否是罪魁祸首。我试图从内存中的数据实例化GD图像(它以前来自数据库)。我试着打电话这样的:如何防止GD耗尽内存?
my $image = GD::Image->new($image_data);
$image
回来为undef
。 GD的POD表示,对于内存不足的情况,构造函数将返回undef
,所以这就是我怀疑内存的原因。
图片数据为PNG格式。如果我调用newFromPngData,也会发生同样的事情。
这适用于像30K以下的非常小的图像。然而,稍大的图像,像〜70K会导致问题。我不认为7K图像应该会导致这些问题,即使在它被瘪了之后。
此脚本通过Apache 2.0在OS 10.4上运行,如果这很重要的话。
默认情况下Apache是否有任何内存限制?他们能增加吗?
感谢您的任何见解!
编辑:为了澄清,GD :: Image对象永远不会被创建的,所以清理出从内存中$image_data
是不是一个真正的选择。
如何增加可用于脚本的内存量?我不认为其他解决方案可以工作,因为我从来没有通过创建第一个GD :: Image对象。 – pkaeding 2008-12-23 12:32:28
IIRC在php中有一个设置。ini关于脚本内存限制 – 2008-12-24 02:27:45