XserverのImageMagickで500エラー

気づけば2月最終日。前回が1/1…。開店記念日の告知とか書いてなかったっけ…SNSにしか書いてなかった気がする…いマサラすんません。ありがたいことに、年末からずっと忙しさのピークが続いております。ありがたやありがたや。

そんな調子で久しぶりに自作CGIから画像をUPしようとすると500エラー。

ログを見ると

libgomp: Thread creation failed: Resource temporarily unavailable,

どうやら、XserverではOpenMPなるもので画像処理をマルチスレッド化して高速処理をはかるようになったのだとか。んで、私が処理に利用しているImageMagickはマルチスレッド処理に不具合があるようで、500エラーがでてるのだと。

なので、ImageMagickはマルチスレッド処理しないようにCGIに記述。

BEGIN {
$ENV{MAGICK_THREAD_LIMIT}=1;
}

これでOK。ちなみに、

use Image::Magick;

でImageMagickを呼び出す前に記述しないと意味ない。
当たり前なんだけどうっかり呼び出し後に記述してて500エラーが直らずしばし悩んだ。

しかしインターネッツ超便利。こんなん自分ひとりじゃ詰んでるわ…

シェアする

  • このエントリーをはてなブックマークに追加

フォローする