Movable Type4で投稿画面などを開く際500 Internal Server Errorが出る回避策

エックスサーバーで動作しているMovable Type(以下MT)を編集する際、管理画面内のブログ記事を開いたりアイテムページを表示する際に500 Internal Server Errorが発生することがあります。
今回はそのエラーの確認方法と、解決策をシェアします。
今回のエラーが発生した環境
サーバー:エックスサーバー
CMS:Movable Type4.3.4-ja
記事の投稿画面や、アイテムを確認する際に500 Internal Server Errorが発生(管理画面のすべての中ページを開くと発生?)
エックスサーバーのエラーログ(一部抜粋)
エックスサーバーで500 Internal Server Error が発生した場合は、サーバーのコントロールパネルより「エラーログ」を確認することで、原因を突き止められることが多いです。

[cgi:error] AH01215: libgomp: Thread creation failed: Resource temporarily unavailable, referer: http://○○○.com/mt.cgi?__mode=list_entries&_type=&blog_id=1&filter=category_id&filter_val=2
エラーログをダウンロードして開き、ページの最下部を見るとこのようなエラー文が掲載されています。今回はこの「libgomp: Thread creation failed:」が肝のようです。
エックスサーバーではOpenMPという基盤を用いて高速処理が実現されているのですが、その場合サーバー内に導入されている画像処理ライブラリ「ImageMagick」の処理に不具合が発生することが原因のようです。
» OpenMPとは | 高速化・並列化 | 計算力学研究センター RCCM
» ImageMagick – Wikipedia
解決策
対策方法は2つあります。どちらかをお試しください。
① mt-config.cgiでImageMagickを無効化し、GDを使う
/MT本体/mt-config.cgi をローカルで開き、下記の部分を編集します。
ImageMagickをコメントアウトし、代わりにGD を使用するよう変更します。
# ImageDriver ImageMagick
ImageDriver GD
» GD Graphics Library – Wikipedia
② mt.cgiでImageMagickの処理を書き換える
/MT本体/mt.cgi をローカルで開き、下記の5-7行目部分を追記します。
use strict;
use lib $ENV{MT_HOME} ? "$ENV{MT_HOME}/lib" : 'lib';
use MT::Bootstrap App => 'MT::App::CMS';
↓
use strict;
use lib $ENV{MT_HOME} ? "$ENV{MT_HOME}/lib" : 'lib';
BEGIN {
$ENV{MAGICK_THREAD_LIMIT}=1;
}
use MT::Bootstrap App => 'MT::App::CMS';
再度管理画面にアクセスし、正常に表示されていればOKです。
参考サイト
以下の記事を参考にさせていただきました。
» OpenMPが有効なImageMagickとMovable Typeを組み合わせた際の不具合の回避策 – The blog of H.Fujimoto
» エックスサーバー(Xserver)でMovable Typeに画像をアップロードできない場合の対処 – Qiita
ディスカッション
コメント一覧
まだ、コメントがありません