ImageMagick サーバ設定

2011年11月3日木曜日 - 投稿者 さい 時刻: 0:50
画像が変換されない、変換されても画質が悪い、エラーが出る、など、ImageMagickのトラブル時にこの設定をサーバにすることで改善されることがあります。
なお、ここではサーバはWindows Server 2003を前提としますが、2008でもほとんど差はありません。

【注意】
サーバのセキュリティを緩めるような設定になりますので、自己責任で実行してください。

・IISの匿名認証の権限変更
PHPのimagick->thumbnailimage()などでEPS→JPEG変換(ベクターからラスターへの変換)を行う際、デフォルトでPHPに与えられている権限ではGhostscriptを正常に動かすことができず、画質が非常に悪くなってしまうため、下記の設定を行いPHPからGhostscriptへのアクセスを許可する。

1. IIS->default web site->匿名認証 をAdministrator権限に変更
2. Administratorのパスワードを入力

・ローカルセキュリティポリシーの割り当て
PHPからexec(convert……)という形でサーバ上のファイルを直接コマンドラインから操作する方法は、PHPでアップロードしたファイルに対しては無効。これはファイルの所有権に関係しているため、IISを介し生成したファイルに適切な所有権を与える必要がある。

管理ツール->ローカルセキュリティポリシー->ユーザー権利の割り当て->
ファイルとその他のオブジェクトの所有権の取得にIIS_WPGとIUSR_R3007を追加。
※Windows Server 2008の場合はIUSRとIIS_IUSRを追加。