web-dev-qa-db-ja.com

imagickをWindowsのxampp / wampにインストールする方法

今日、xamppにimagickを何百回もインストールしようとしました。そして、私はそれをやった。問題がある場合は、次の手順に従ってください。

  1. Xamppはx86であるため、Image Magick(プログラム)がx86であるかどうかを確認してください。そうでない場合は、ここから最新バージョンをダウンロードしてください:imagemagick.org/script/binary-releases.php#windows_Win32 dynamic at 16 bits-per-pixel_。
  2. Image Magickを_C:\imagemagick_にインストールします。
  3. Imagick here: の最新の安定バージョンをダウンロードします。 5.x Thread Safe (TS) x86をダウンロードする必要があります。 5.xのxは、PHPのバージョンです。
  4. __amppインストールのphp/extフォルダーに_php_imagick.dll_を配置します。
  5. これをphp.iniに追加します:_extension=php_imagick.dll_
  6. これは私が多くのトラブルを抱えているときです。サーバーを起動しようとすると(またはコンソールでphpを書き込む(start-> cmd))と、エラーが発生します。そのエラーが次のようなものを示している場合:_Unable to find the entry point for the procedure FlattenImages in the DLL CORE_RL_magick.dll_これは、あなたが順調に進んでいることを意味します。
  7. ここで、Image Magickのインストールフォルダーに移動して、ダウンロードしたDLLを_php_imagick.dll_で上書きする必要があります。すべてが接頭辞_CORE_RL__で始まります。
  8. それらをすべて上書きしたら、Windowsコンソールでphpを書いてみることができます。何も言わないなら、imagickが機能していることを意味します(localhost/xampp/ > phpinfo() linkで確認できます。個人的には、新しいDLLをインストールする必要がありました:_vcomp110.dll_。 _vcomp11.dd_)が見つかりませんでした ここからダウンロード

コンソールでphpを実行するか、xamppのApacheモジュールを初期化するだけでエラーが発生することはありません。

さようなら、私は誰かを助けることができると思います。

編集:コンソールで_convert some-img.bmp some-result.jpg_を実行しようとしたときに、このエラーが発生しました:_convert.exe: unable to open module file 'C:\Users\my-acc\.magick\IM_MOD_RL_BMP_.dll': No such file or directory @ ..._ _.magick_にフォルダー_my-acc_がない場合に発生しました。あなたがする必要があるのはこれです:

  1. _.magick_フォルダーに_my-acc_という名前のフォルダーを作成します。名前はストップで始まるため、コンソールから作成する必要があります。コマンドは次のとおりです。

    1.1。 _c:_

    1.2。 _cd Users\my-acc_

    1.3。 _mkdir .magick_

  2. _C:\imagemagick\modules\coders_に移動し、ファイル全体を作成された最新のフォルダーにコピーします。

これで、コマンドまたはPHPクラスを使用してImage Magickを使用できるようになります。

バックグラウンドで、Codeigniterを使用する場合、imagickでimage_libを使用する方法がわかりません。したがって、独自のimagickクラスを使用する方が適切です。ここに簡単な例:

_$image = new Imagick($upload_data['full_path']);
$image->thumbnailImage(250,0);
if($image->writeImage($upload_data['file_path'].$upload_data['raw_name'].'_thumb'.$upload_data['file_ext'])){
    something here;
}
$image->clear();
_
29

この答えは非常に素朴かもしれませんが、Windowsで処理を行うのは一般的に大変すぎることがわかりました。多くの人々がそれに同意し、「チョコレート」として知られるツールに慰めを見出しました。

まず、chocolateyをWindowsマシンにインストールします(非常に簡単なインストール手順)。

https://chocolatey.org/

次に、chocolateyを使用して、必要なもの(この場合はimagemagick)をすべてインストールします。

https://chocolatey.org/packages/imagemagick

その後、構成ファイルに多少の微調整を加え、さらにスムーズに機能させるために必要なすべての「Windowsアクセス許可」を処理する必要があると思われます。アクセス許可は、一部のユーザーに対する「フルコントロール」と同じくらい単純(必ずしも安全ではない)であり、さらに継承をアクティブにし、継承を使用するためにすべての子の設定を上書きします。

要するに、インストール、構成、アクセス許可、行く。

PS。 Windowsでcodeigniter、php、imagemagickを実行していないため、この答えは不完全/プロトタイプ/実験的かもしれません。

5
starlocke

Winderfindのこのハウツーは素晴らしいものですが、私にとってはすべての問題をトラブルシューティングすることはまだ完全ではありませんでした。まず、このチュートリアルをご覧ください: http://hrt0kmt.hatenablog.com/entry/2015/05/27/170608

次に、ImageMagickのすべてのバージョンがphp_imagick.dllのすべてのバージョンで動作するわけではないことを発見しました。さらなるトラブルシューティングについては、この投稿の私の回答と他の回答をご覧ください。 ImageMagickでサポートされている形式は値なし

0
Jorr.it