ここでメモリが原因かどうかはわかりません。メモリ内のデータから GD イメージをインスタンス化しようとしています (以前はデータベースからのものでした)。私はこのような呼び出しを試みます:
my $image = GD::Image->new($image_data);
$imageとして戻ってきundefます。GD の POD は、コンストラクターがundefメモリ不足の場合に戻ると言っているので、メモリが疑わしいのはそのためです。
画像データはPNG形式です。newFromPngData を呼び出すと、同じことが起こります。
これは、30K 未満などの非常に小さな画像で機能します。ただし、〜 70K などのわずかに大きな画像は問題を引き起こします。空気を抜いた後でも、70K の画像がこれらの問題を引き起こすとは思いません。
このスクリプトは、OS 10.4 で Apache 2.0 を介して CGI で実行されています。
デフォルトで Apache によって課されるメモリ制限はありますか? それらを増やすことはできますか?
洞察をありがとう!
編集:明確にするために、GD::Image オブジェクトは作成されないため$image_data、メモリからクリアすることは実際にはオプションではありません。