Help us understand the problem. What is going on with this article?

エックスサーバー(Xserver)でMovable Typeに画像をアップロードできない場合の対処

More than 1 year has passed since last update.

エックスサーバーにMovable Typeをインストールすると、画像のアップロードに失敗します。

他のサーバーから、既にアップロード画像が含まれているMTを移行した場合、管理画面の「アイテム > 一覧」に入った途端に500エラーとなります。

これは、MTで画像処理の標準となっているモジュールが、エックスサーバーではインストールされていないためです。

これは、エックスサーバーではOpenMPでの高速化を行っているのに対し、ImageMagickのマルチスレッド処理に不具合があることが原因と考えられています。
この件についても後述します。

最速の対応

/MTをインストールしたパス/mt-config.cgi
をテキストエディタで開き、環境変数の「ImageDriver」をコメントアウトして「GD」に書き換えてください。

mt-config_xserver.cgi
# ImageDriver ImageMagick
ImageDriver GD

エックスサーバーには「Image::Magick」「Imager」はありませんが、「GD」は標準でインストールされているようです。

もう少し本格的な対応

エックスサーバーはSSHを利用できるので、Perlモジュールを管理する、CPANのライブラリを許可ディレクトリ内に設置することもできるようです。
モジュールひとつを管理する目的ではちょっとコストが大きいので試したことがありませんが、GDよりも高速なImagerを利用したい方向けの情報としてご紹介します。

xserverでperlのcpanをローカル構築。local::lib
http://dq310.com/nm/xserver%e3%81%a7perl%e3%81%aecpan%e3%82%92%e3%83%ad%e3%83%bc%e3%82%ab%e3%83%ab%e6%a7%8b%e7%af%89%e3%80%82locallib/

ImageMagickそのものを使用可能にする

先述のとおりですが、Movable Typeのコアファイルを「ImageMagickのみマルチスレッド処理を行わない」よう修正すると、ImageMagickのままで動作させられるようになります。
手順については下記を参照ください(藤本さんありがとうございます)。

OpenMPが有効なImageMagickとMovable Typeを組み合わせた際の不具合の回避策 - The blog of H.Fujimoto
https://www.h-fj.com/blog/archives/2017/08/15-103037.php

ファイルを一箇所修正するのみなので簡単ですが、予約投稿を行った際に、PageButeなどの多くのプラグインに内部的なエラーが出てしまうことを確認しています。
予約投稿を行わないのであれば問題ないかもしれませんが、GDに変更する対応が最も無難なようです。

webbingstudio@github
フリーランスのWebエンジニアです。HTML5/CSS3/jQuery/PHP/Movable Type/WordPress/a-blog cms/baserCMS
https://webbingstudio.com/
Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
Comments
No comments
Sign up for free and join this conversation.
If you already have a Qiita account
Why do not you register as a user and use Qiita more conveniently?
You need to log in to use this function. Qiita can be used more conveniently after logging in.
You seem to be reading articles frequently this month. Qiita can be used more conveniently after logging in.
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
ユーザーは見つかりませんでした