web-dev-qa-db-ja.com

Imagick for PHPおよびApachefor Windows

これまでに行った手順:

  1. Win7マシンにImagickをインストールしましたが、コマンドラインから正しくインストールされ、実行されています。
  2. Php_imagick-3.1.2-5.6-ts-vc11-x86.Zipの内容を\ PHP\extディレクトリに抽出しました ここ
  3. Php.iniでimagick.dllを有効にしました
  4. 再起動しました...
  5. Apacheの起動時にエラーは発生しません。
  6. Imagickを使用するスクリプトを実行しようとすると、まだ_Fatal error: Class 'Imagick' not found_エラーが発生します。

現在のバージョン:

  • Windows 7 x64
  • Apache 2.4.10 x86 VC11(Apacheloungeから)
  • PHP 5.6.3 x86 VC11 TS(windows.php.netから)
  • ImageMagick 6.9.0-0 Q16 x86(imagemagick.orgから)
  • Imagick DLL php_imagick-3.1.2-5.6-ts-vc11-x86.Zip(from here

私は古いバージョンのPHPを実行していて、Imagickがそれで正常に動作していたので、PHP(およびそれに伴うImagick DLL)を更新しました)そして今はそれを機能させることができないようです。

phpinfo( )を見ると、そこにImagickがリストされていないので、モジュールをまったくロードしていないようです。 Apacheの起動時にエラーが発生しないため、これは奇妙です。

Imagick for PHP for WindowsをWindowsにインストールするためのほぼすべての記述とウォークスルーを試しましたが、それらはすべて古いバージョンのPHP用に書かれているようです。

誰かがこれをインストールして実行するのを手伝ってもらえますか?私には理解できない簡単なステップが1つ欠けているようです。さらに情報が必要な場合は、お問い合わせください。できる限りのお手伝いをさせていただきます。

8
Benjam

開発システム用にWindows8.1proにphp 5.6 NTS x64をインストールしました。

編集:この手順はWindows10proでも機能しました。

受け入れられた回答のように古いリリースのImageMagickを使用してImagickをPHPで動作させることができず、必要な正確な安全なバイナリを備えたミラーを見つけることが困難でした(受け入れられた回答のミラー上のバイナリをダウンロードしました)リストされているものとは異なるバージョンとして)。

以下のすべての手順で、PHPアーキテクチャ(x86/x64およびNTS/TS)をバイナリのアーキテクチャに一致させてください。 PHP x86を使用している場合-ダウンロードのx64バージョンをx86(または32ビット)バージョンに置き換えます。同じことが、PHPのスレッドセーフ(TS)バージョンと非スレッドセーフ(NTS)バージョンにも当てはまります。

次の手順を実行することで、ようやくすべてが機能するようになりました。

  1. https://pecl.php.net/package/imagick に移動し、この回答の時点で最新のDLL (3.3.0RC1)をダウンロードします。 。 Imgur
  2. 抽出php_imagick.dllからD:\php5.6\ext
  3. すべてのCORE_RL_*.dllファイルをD:\php5.6-に抽出しますD:\php5.6 isシステム環境変数のPATHにも追加されます
  4. extension = php_imagick.dll to D:\php5.6\php.ini
  5. Apache/PHPビルトインWebサーバーを再起動します
  6. PHP情報をチェックして、モジュールが正しくインストールされていることを確認します Imgur強調表示されたImageMagickバージョン(ImageMagick 6.9.1-2 Q16 x64)とサポートされていないフォーマットに注意してください
  7. 一致するバージョンのImageMagickをダウンロードしてインストールしますD:\php5.6\bin from http://www.imagemagick.org/script/binary-releases.php - Add Path to Environment Variablesオプションがチェックされているか、手動で追加します Imgur
  8. コマンドプロンプト(システムパス変数を強制的に更新する管理者として実行)をロードし、convert --versionが正しいバージョンを表示することを確認します Imgur
  9. 以前に抽出したCORE_RL_*.dllファイルを削除しますD:\php5.6(これらはImageMagickパスを介してロードされます-それ以外の場合はPHPインストールはPECLdllで不安定になる可能性があります)
  10. Apache/PHPビルトインWebサーバーを再起動します
  11. PHP情報をチェックして、モジュールがまだ正しくインストールされ、Imagickでサポートされている形式をロードしていることを確認します Imgur
  12. オプションで、GhostscriptをダウンロードしてD:\php5.6\binにインストールし、PDFを http://sourceforge.net/projects/ghostscript/インストールのアーキテクチャと一致していることを確認してください

ImagickがPHPビルトインWebサーバーまたはCGIを使用して動作するために、MAGICK_HOMEを追加する必要はありませんでしたが、mod_phpを使用するApacheでは必要になる場合があります。 PHPを実行しているユーザーがconvertを実行する権限を持っていることを確認してください。これはD:\php5.6\binを介して継承する必要がありますが、C:\Program Filesにインストールすることを選択した場合。権限が制限されているため、問題が発生する可能性があります。


画像変換の代替

コメントに記載されているように、代わりに、必要なImageMagickバージョンの依存関係をダウンロードし、exeディレクトリ内からdllファイルとbinファイルを直接D:\php5.6ディレクトリ。依存関係はPECLWebサイトで見つけることができます http://windows.php.net/downloads/pecl/deps/

PECL依存関係を使用すると、ベンダーのWebサイトから一致するImageMagickバージョンインストーラーを直接ダウンロードして実行する必要がなくなります。

PECL依存関係メソッドでは、GhostScriptを使用したPDF変換に必要な除外ファイルに関する問題がありました。


特別な考慮事項

%SystemRoot%\system32\convert.exeD:\php5.6\bin\convert.exeを上書きしないように、必ずPATHシステム環境変数を再配置してください。

次のように、system32の左側にPHPパスを追加します。PATH:D:\php5.6\bin;%SystemRoot%\system32;%SystemRoot%;...

これにより、システムはD:\php5.6\binの前に%SystemRoot%\system32内の実行可能ファイルを検索するように強制されます。

D:\php5.6\bin\convert.exeをImageMagickをインストールした場所へのパス、またはconvert.exeが配置されている場所へのパスに置き換えます

https://technet.Microsoft.com/en-us/library/cc723564.aspx#XSLTsection12712112012

32
fyrye
  1. 適切な拡張バージョンを http://windows.php.net/downloads/pecl/releases/imagick/ からダウンロードします。現時点で最新の非ベータ版である3.1.2を選択しました[.____]。
    • Php_imagick.dllを解凍してPHP extフォルダーにコピーします
    • [PHP_IMAGICK] extension = php_imagick.dllをphp.iniに追加します
    • 推奨されるImagickバージョンをダウンロードし、次の場所からインストールします。 http://imagemagick.org/script/binary-releases.php#windows (インストール中にCヘッダーとCOMオブジェクトを選択しました)
    • Apacheを再起動します
    • Phpinfo()でImagickセクションを確認してください...あります!

3つの異なるWindowsインストール(2つのWindows7と1つのWindows8.1)で機能した別のソリューションは、以下を組み合わせることです。

ImageMagick-6.7.9-10-Q16-windows.exe with

xampp-win32-1.8.3-5-VC11-installer.exe

もちろん、php_imagick.dllを追加をphp/extフォルダーに追加し、拡張子を追加 php_imagick.dllをphp.iniに追加する必要があります。 再起動上記のすべてを実行した後、Apacheが不足していると文句を言う場合は、コンピューターを再起動します。

0
lost in binary

これが私がそれを解決した方法です

私はこれらすべての答えに本当に苦労していました。振り返ってみると、重要な非常に細かい詳細が省略されていることを除いて、ほとんどが正しいことに気付きました。

1)。何よりもまず、ライブラリまたはDLLのダウンロードを開始する前に、php_infoこれらの3つの非常に重要なパラメータを見つけます。

PHP_Infoを実行し、以下を確認します。

  1. アーキテクチャ:x86またはx64。お使いのコンピューターはx64である可能性がありますが、PHPはx86で実行されているため、想定しないでください
  2. スレッドセーフ:はいまたはいいえ。また、非常に重要です。
  3. あなたのPHPバージョン

2)。ImageMagickを次の場所からダウンロードします: https://windows.php.net/downloads/pecl/deps/ 。私のコンピューターはx64ですが、PHPはx86を実行しているので、ImageMagick-7.0をダウンロードしました。--vc * -x86.Zip

3)。すべてのDLLを解凍し、解凍したbinサブフォルダーからApachebinディレクトリにコピーします。これは、CORE_RL _。dllとIM_MOD_RL _。dllの束に加えて、他のいくつかのDLLです。私の場合、[zippeddownload]/bin/*->コピー先-> C:\ Xampp\Apache\bin

4)。http://pecl.php.net/package/imagick に移動します。 ZipリンクまたはDLLリンクのみを選択できます。DLLリンクが好きです。私の場合は最新バージョン3.4.3を選択しました。その後、私に https://pecl.php.net/package/imagick/3.4.3/windows 。ここで別の慎重な選択をする必要があります

  1. 私のphpバージョンはPHP 5.6
  2. スレッドセーフは有効
  3. Phpが実行されているアーキテクチャはx86
  4. だから私は5.6スレッドセーフ(TS)x86を取りました

5)。 "php_imagick.dll"を解凍してphpextフォルダ。そして他のすべてのDLLファイルをphpフォルダーに

6)。エディターを使用して開くphp.ini。 「extension =」を検索し、この行extension = php_imagick.dllをその1つとして追加します。

7)。Xampp/Wampを再起動するか、Apacheを再起動してPHP_INFOを再度実行します。 Imagickが表示されます。それでも表示されない場合は、このリンクを参照してください http://php.net/manual/en/imagick.setup.php#119084

ボーナスのヒント:visual c ++ 14ランタイムをダウンロードする必要があるかもしれません。このリンクから https://support.Microsoft.com/en-us/help/2977003/the-latest-supported-visual-c-downloads 最新バージョンを選択しました。

0
Maxximum Rider

1、最初にあなたの状況に応じて正しいバージョンのphp_imagickパッケージをダウンロードします。私はphp_imagick-3.4.3-7.1-ts-vc14-x64.Zipを使用します:

https://windows.php.net/downloads/pecl/snaps/imagick/3.4.3/php_imagick-3.4.3-7.1-ts-vc14-x64.Zip

2、次にphp_imagick-3.4.3-7.1-ts-vc14-x64.ZipをC:/ php_imagickフォルダーに解凍します

3、次にphp.iniにextension = C:/php_imagick/php_imagick.dllを追加します

4、次に* .dll(php_imagick.dllを除く)をApache仮想ホストファイルに追加します。次に例を示します。

# enable imagick start ===========
SetEnv MAGICK_HOME "C:/php_imagick" 

LoadFile "C:/php_imagick/CORE_RL_bzlib_.dll"
LoadFile "C:/php_imagick/CORE_RL_cairo_.dll"
LoadFile "C:/php_imagick/CORE_RL_exr_.dll"
LoadFile "C:/php_imagick/CORE_RL_glib_.dll"
LoadFile "C:/php_imagick/CORE_RL_jp2_.dll"
LoadFile "C:/php_imagick/CORE_RL_jpeg_.dll"
LoadFile "C:/php_imagick/CORE_RL_lcms_.dll"
LoadFile "C:/php_imagick/CORE_RL_librsvg_.dll"
LoadFile "C:/php_imagick/CORE_RL_libxml_.dll"
LoadFile "C:/php_imagick/CORE_RL_lqr_.dll"
LoadFile "C:/php_imagick/CORE_RL_magick_.dll"
LoadFile "C:/php_imagick/CORE_RL_Magick++_.dll"
LoadFile "C:/php_imagick/CORE_RL_openjpeg_.dll"
LoadFile "C:/php_imagick/CORE_RL_pango_.dll"
LoadFile "C:/php_imagick/CORE_RL_png_.dll"
LoadFile "C:/php_imagick/CORE_RL_tiff_.dll"
LoadFile "C:/php_imagick/CORE_RL_ttf_.dll"
LoadFile "C:/php_imagick/CORE_RL_wand_.dll"
LoadFile "C:/php_imagick/CORE_RL_webp_.dll"
LoadFile "C:/php_imagick/CORE_RL_zlib_.dll"
LoadFile "C:/php_imagick/FILTER_analyze_.dll"
LoadFile "C:/php_imagick/IM_MOD_RL_aai_.dll"
LoadFile "C:/php_imagick/IM_MOD_RL_art_.dll"
LoadFile "C:/php_imagick/IM_MOD_RL_avs_.dll"
LoadFile "C:/php_imagick/IM_MOD_RL_bgr_.dll"
LoadFile "C:/php_imagick/IM_MOD_RL_bmp_.dll"
LoadFile "C:/php_imagick/IM_MOD_RL_braille_.dll"
LoadFile "C:/php_imagick/IM_MOD_RL_cals_.dll"
LoadFile "C:/php_imagick/IM_MOD_RL_caption_.dll"
LoadFile "C:/php_imagick/IM_MOD_RL_cin_.dll"
LoadFile "C:/php_imagick/IM_MOD_RL_cip_.dll"
LoadFile "C:/php_imagick/IM_MOD_RL_clip_.dll"
LoadFile "C:/php_imagick/IM_MOD_RL_clipboard_.dll"
LoadFile "C:/php_imagick/IM_MOD_RL_cmyk_.dll"
LoadFile "C:/php_imagick/IM_MOD_RL_cut_.dll"
LoadFile "C:/php_imagick/IM_MOD_RL_dcm_.dll"
LoadFile "C:/php_imagick/IM_MOD_RL_dds_.dll"
LoadFile "C:/php_imagick/IM_MOD_RL_debug_.dll"
LoadFile "C:/php_imagick/IM_MOD_RL_dib_.dll"
LoadFile "C:/php_imagick/IM_MOD_RL_djvu_.dll"
LoadFile "C:/php_imagick/IM_MOD_RL_dng_.dll"
LoadFile "C:/php_imagick/IM_MOD_RL_dot_.dll"
LoadFile "C:/php_imagick/IM_MOD_RL_dps_.dll"
LoadFile "C:/php_imagick/IM_MOD_RL_dpx_.dll"
LoadFile "C:/php_imagick/IM_MOD_RL_emf_.dll"
LoadFile "C:/php_imagick/IM_MOD_RL_ept_.dll"
LoadFile "C:/php_imagick/IM_MOD_RL_exr_.dll"
LoadFile "C:/php_imagick/IM_MOD_RL_fax_.dll"
LoadFile "C:/php_imagick/IM_MOD_RL_fd_.dll"
LoadFile "C:/php_imagick/IM_MOD_RL_fits_.dll"
LoadFile "C:/php_imagick/IM_MOD_RL_fpx_.dll"
LoadFile "C:/php_imagick/IM_MOD_RL_gif_.dll"
LoadFile "C:/php_imagick/IM_MOD_RL_gradient_.dll"
LoadFile "C:/php_imagick/IM_MOD_RL_gray_.dll"
LoadFile "C:/php_imagick/IM_MOD_RL_hald_.dll"
LoadFile "C:/php_imagick/IM_MOD_RL_hdr_.dll"
LoadFile "C:/php_imagick/IM_MOD_RL_histogram_.dll"
LoadFile "C:/php_imagick/IM_MOD_RL_hrz_.dll"
LoadFile "C:/php_imagick/IM_MOD_RL_html_.dll"
LoadFile "C:/php_imagick/IM_MOD_RL_icon_.dll"
LoadFile "C:/php_imagick/IM_MOD_RL_info_.dll"
LoadFile "C:/php_imagick/IM_MOD_RL_inline_.dll"
LoadFile "C:/php_imagick/IM_MOD_RL_ipl_.dll"
LoadFile "C:/php_imagick/IM_MOD_RL_jbig_.dll"
LoadFile "C:/php_imagick/IM_MOD_RL_jnx_.dll"
LoadFile "C:/php_imagick/IM_MOD_RL_jp2_.dll"
LoadFile "C:/php_imagick/IM_MOD_RL_jpeg_.dll"
LoadFile "C:/php_imagick/IM_MOD_RL_json_.dll"
LoadFile "C:/php_imagick/IM_MOD_RL_label_.dll"
LoadFile "C:/php_imagick/IM_MOD_RL_mac_.dll"
LoadFile "C:/php_imagick/IM_MOD_RL_magick_.dll"
LoadFile "C:/php_imagick/IM_MOD_RL_map_.dll"
LoadFile "C:/php_imagick/IM_MOD_RL_mask_.dll"
LoadFile "C:/php_imagick/IM_MOD_RL_mat_.dll"
LoadFile "C:/php_imagick/IM_MOD_RL_Matte_.dll"
LoadFile "C:/php_imagick/IM_MOD_RL_meta_.dll"
LoadFile "C:/php_imagick/IM_MOD_RL_miff_.dll"
LoadFile "C:/php_imagick/IM_MOD_RL_mono_.dll"
LoadFile "C:/php_imagick/IM_MOD_RL_mpc_.dll"
LoadFile "C:/php_imagick/IM_MOD_RL_mpeg_.dll"
LoadFile "C:/php_imagick/IM_MOD_RL_mpr_.dll"
LoadFile "C:/php_imagick/IM_MOD_RL_msl_.dll"
LoadFile "C:/php_imagick/IM_MOD_RL_mtv_.dll"
LoadFile "C:/php_imagick/IM_MOD_RL_mvg_.dll"
LoadFile "C:/php_imagick/IM_MOD_RL_null_.dll"
LoadFile "C:/php_imagick/IM_MOD_RL_otb_.dll"
LoadFile "C:/php_imagick/IM_MOD_RL_Palm_.dll"
LoadFile "C:/php_imagick/IM_MOD_RL_pango_.dll"
LoadFile "C:/php_imagick/IM_MOD_RL_pattern_.dll"
LoadFile "C:/php_imagick/IM_MOD_RL_pcd_.dll"
LoadFile "C:/php_imagick/IM_MOD_RL_pcl_.dll"
LoadFile "C:/php_imagick/IM_MOD_RL_pcx_.dll"
LoadFile "C:/php_imagick/IM_MOD_RL_pdb_.dll"
LoadFile "C:/php_imagick/IM_MOD_RL_pdf_.dll"
LoadFile "C:/php_imagick/IM_MOD_RL_pes_.dll"
LoadFile "C:/php_imagick/IM_MOD_RL_pict_.dll"
LoadFile "C:/php_imagick/IM_MOD_RL_pix_.dll"
LoadFile "C:/php_imagick/IM_MOD_RL_plasma_.dll"
LoadFile "C:/php_imagick/IM_MOD_RL_png_.dll"
LoadFile "C:/php_imagick/IM_MOD_RL_pnm_.dll"
LoadFile "C:/php_imagick/IM_MOD_RL_preview_.dll"
LoadFile "C:/php_imagick/IM_MOD_RL_ps_.dll"
LoadFile "C:/php_imagick/IM_MOD_RL_ps2_.dll"
LoadFile "C:/php_imagick/IM_MOD_RL_ps3_.dll"
LoadFile "C:/php_imagick/IM_MOD_RL_psd_.dll"
LoadFile "C:/php_imagick/IM_MOD_RL_pwp_.dll"
LoadFile "C:/php_imagick/IM_MOD_RL_raw_.dll"
LoadFile "C:/php_imagick/IM_MOD_RL_rgb_.dll"
LoadFile "C:/php_imagick/IM_MOD_RL_rgf_.dll"
LoadFile "C:/php_imagick/IM_MOD_RL_rla_.dll"
LoadFile "C:/php_imagick/IM_MOD_RL_rle_.dll"
LoadFile "C:/php_imagick/IM_MOD_RL_scr_.dll"
LoadFile "C:/php_imagick/IM_MOD_RL_screenshot_.dll"
LoadFile "C:/php_imagick/IM_MOD_RL_sct_.dll"
LoadFile "C:/php_imagick/IM_MOD_RL_sfw_.dll"
LoadFile "C:/php_imagick/IM_MOD_RL_sgi_.dll"
LoadFile "C:/php_imagick/IM_MOD_RL_sixel_.dll"
LoadFile "C:/php_imagick/IM_MOD_RL_stegano_.dll"
LoadFile "C:/php_imagick/IM_MOD_RL_Sun_.dll"
LoadFile "C:/php_imagick/IM_MOD_RL_svg_.dll"
LoadFile "C:/php_imagick/IM_MOD_RL_tga_.dll"
LoadFile "C:/php_imagick/IM_MOD_RL_thumbnail_.dll"
LoadFile "C:/php_imagick/IM_MOD_RL_tiff_.dll"
LoadFile "C:/php_imagick/IM_MOD_RL_tile_.dll"
LoadFile "C:/php_imagick/IM_MOD_RL_tim_.dll"
LoadFile "C:/php_imagick/IM_MOD_RL_ttf_.dll"
LoadFile "C:/php_imagick/IM_MOD_RL_txt_.dll"
LoadFile "C:/php_imagick/IM_MOD_RL_uil_.dll"
LoadFile "C:/php_imagick/IM_MOD_RL_url_.dll"
LoadFile "C:/php_imagick/IM_MOD_RL_uyvy_.dll"
LoadFile "C:/php_imagick/IM_MOD_RL_vicar_.dll"
LoadFile "C:/php_imagick/IM_MOD_RL_vid_.dll"
LoadFile "C:/php_imagick/IM_MOD_RL_viff_.dll"
LoadFile "C:/php_imagick/IM_MOD_RL_vips_.dll"
LoadFile "C:/php_imagick/IM_MOD_RL_wbmp_.dll"
LoadFile "C:/php_imagick/IM_MOD_RL_webp_.dll"
LoadFile "C:/php_imagick/IM_MOD_RL_wmf_.dll"
LoadFile "C:/php_imagick/IM_MOD_RL_wpg_.dll"
LoadFile "C:/php_imagick/IM_MOD_RL_xbm_.dll"
LoadFile "C:/php_imagick/IM_MOD_RL_xc_.dll"
LoadFile "C:/php_imagick/IM_MOD_RL_xcf_.dll"
LoadFile "C:/php_imagick/IM_MOD_RL_xpm_.dll"
LoadFile "C:/php_imagick/IM_MOD_RL_xps_.dll"
LoadFile "C:/php_imagick/IM_MOD_RL_xtrn_.dll"
LoadFile "C:/php_imagick/IM_MOD_RL_ycbcr_.dll"
LoadFile "C:/php_imagick/IM_MOD_RL_yuv_.dll"
LoadFile "C:/php_imagick/ImageMagickObject.dll"

# enable imagick end ===========

5、最後にApacheを再起動します

0
Jerome