ここからimagickをインストールしました (ImageMagick-7.0.3-1-Q16-x64-dll)と からdll(TS 32ビット)ここに 。また、_CORE_RL_*
_を_C:\xampp\Apache\bin
_にコピーしても、laravelサーバーを実行すると、次のエラーが発生します。
エラー:警告:PHP起動:ダイナミックライブラリ 'C:\ xampp\php\ext\php_imagick.dll'をロードできません-指定されたモジュールが見つかりませんでした。行0の不明
また、dllファイルを_C:\xampp\php\ext\php_imagick.dll
_に配置しました。
ここで指摘されているように、ImagickをWindowsで動作させることは常に多少の打撃と失敗を経験してきました http://stackoverflow.com/a/36378764/1090867
しかし、それは重要なポイントを逃しています
バイナリをPHPフォルダに入れる必要はありません!
だからここに私がこれをする必要があるときはいつも自分自身に従うステップがある。これは、Apache、nginx、またはIISで機能するはずです。
pHPのバージョンと設定を確認する
バージョン、アーキテクチャ、コンパイラ、スレッドセーフが必要
スレッドセーフが無効になっている場合、これは[〜#〜] nts [〜#〜]が有効になっている[ 〜#〜] ts [〜#〜]
ImageMagickのコピーをインストールし、それがアーキテクチャに一致することを確認します。これも静的バージョンではなくdll.exeである必要があります。
Q8とQ16についてはあなたにお任せしますが、どちらのバージョンでも機能します
http://www.imagemagick.org/script/binary-releases.php#windows
インストールディレクトリ名をC:\Imagemagick
のような一般的な名前に変更することをお勧めします。過去にデフォルトのディレクトリ名にPHPおよびWindowsを使用した場合、.
インストールするだけですが、アプリケーションパスの追加にチェックマークを付けてください。通常、レガシーユーティリティもチェックマークを付けます。
インストールしたら、環境変数に移動し、実際にパスにあることを確認します。 phpフォルダーに何もコピーする必要はありません
すべてが正常に機能していることを確認するために、コマンドラインを開き、convert --versionと入力して、応答を取得する必要があります
これは苦労して難しい部分であり、少し試行錯誤することができます。私は以下が10のうち9回動作すると思われる最高のphp_imagick.dllを提供することを発見しました
インストールに一致するバージョンを選択するだけです。
これが機能しない場合は、php.netにアクセスして、1つが機能するまで各バージョンを試してください...(最新のものから開始)
http://windows.php.net/downloads/pecl/releases/imagick/
Php_imagick.dllを取得したら、php/ext/
フォルダに配置します
php.ini
ファイルを見つけたら、一番下(または拡張機能があるところ)に移動してextension=php_imagick.dll
を追加します
再起動PHP(またはお使いのコンピューター)してください。別のphp_imagick.dllを試していない場合は、動作しているはずです。
次に、少し古いバージョンのimagickを試してみます。通常はバージョン6.8.6-8 Q16を使用します。
Windows 7とWindows Server 2008、2008 R2、2012、2012 R2ですべてこれを実際にすべて実行したことに注意してくださいすべてx64とx86 php
これがまだ機能しない場合は、おそらくCORE_RL
ファイルをimagickディレクトリにコピーする必要があります。これにより、通常、より多くの問題が発生しますが、アイデアが不足している場合は、試してください
この問題に遭遇しました。 PHPコマンドライン(PHP CLI)で使用しています。問題は、メインのphp_imagick.dll
ファイルが持つ依存関係です。PHPは拡張機能を読み込もうとしますが、WindowsはCORE_RL_
DLLを見つけられないため、拡張機能は読み込めず、DLLを読み込めないというエラー/警告メッセージがWindowsがどのようにDLLをロードするかを知るのに役立ちます:
https://msdn.Microsoft.com/en-us/library/windows/desktop/ms682586(v = vs.85).aspx
かなり複雑ですが、Apache /bin
ディレクトリトリックがApacheで機能する理由は、httpd.exe
がそのディレクトリにあるためです。ただし、PHP CLIを使用する場合、DLLはphp.exe
と同じディレクトリに配置する必要があります。
重複するDLLをフロートさせたくない場合は、php.exe
を含むディレクトリをシステムPATHに追加し、そこにすべてのCORE_RL_
DLLを配置します。 PATHは最後に検索されたものですが、正常に動作します。システムのPATHに偽のエントリが必要ない場合は、Apacheの起動時にのみ追加のPATH情報を設定してください。