我不确定内存是否是这里的罪魁祸首。我正在尝试从内存中的数据(它以前来自数据库)中实例化一个 GD 图像。我尝试这样的电话:
my $image = GD::Image->new($image_data);
$image
回来了undef
。GD 的 POD 说构造函数将undef
在内存不足的情况下返回,所以这就是我怀疑内存的原因。
图像数据为 PNG 格式。如果我调用 newFromPngData,也会发生同样的事情。
这适用于非常小的图像,例如 30K 以下。但是,稍微大一点的图像,比如 ~70K 会导致问题。我不认为 70K 的图像会导致这些问题,即使在它被瘪了之后。
这个脚本通过 Apache 2.0 在 CGI 下运行,在 OS 10.4 上,如果这很重要的话。
默认情况下,Apache 是否有任何内存限制?它们可以增加吗?
感谢您的任何见解!
编辑:为澄清起见, GD::Image 对象永远不会被创建,因此从内存中清除$image_data
它并不是一个真正的选择。