PHP は、Imagick 拡張機能を使用して画像を処理します。Imagick 拡張機能は ImageMagick に基づいていますが、ユーザーがそれを使用したい場合は、Windows バイナリ ファイルを探すか、Windows バイナリ ファイルをコンパイルする必要があります。彼ら自身。 Linux の場合、これらは問題ありません。しかし、Windows に関する関連情報はほとんどありません。以下に私の編集プロセスを簡単に紹介します。
準備プロセス:
1. PHP ソース コードとコンパイル ツールをダウンロードします。
PHP ソース コードは www.php.net からダウンロードできます。具体的なダウンロード アドレスはダウンロード ページ (http:/) で確認できます。 /www.php.net/downloads.php)。
次に、ドキュメント ページ (http://www.php.net/docs.php) に移動して、コンパイル プロセスに関するヘルプを見つけます。具体的なページは http://www.php.net/manual/zh です。 /install.windows .building.php.
このページから関連するコンパイル ツール win32build および bindinglib_w32 をダウンロードし、それらをソース コードに解凍して、同じレベルのディレクトリに配置できます。具体的なディレクトリ構造は次のとおりです。
+--BuildRootDir | | | +--bindlib_w32 | | | | | +--arpa | | | | | +--conf | | | | | +--... | | | +--php-5.x.x | | | | | +--build | | | | | +--... | | | | | +--win32 | | | | | +--... | | | +--win32build | | | | | +--bin | | | | | +--include | | | | | +--lib
win32buildbin ディレクトリをシステム環境変数 Path に追加します。この手順はコンパイル中に指定することもできます。さらに、C ドライブにディレクトリ C:usrlocalbin を作成し、win32buildbin ディレクトリの bison.simple をこのディレクトリにコピーする必要があります。
上記の作業が完了したら、resolv.libをコンパイルします。このファイルの VC プロジェクト ファイルは、bindlib_w32 にあります。VC を使用して、プロジェクト ファイルを開いてコンパイルできます。コンパイルによって生成された resolv.lib を win32buildlib ディレクトリにコピーします (このファイルが既に存在する場合は、上書きします)。
この時点で、PHP のコンパイル準備作業は完了しました。
2. ImageMagick インストール パッケージをダウンロードし、
をインストールします。ImageMagick ホームページ (http://www.imagemagick.org/script/index.php) に移動して、Windows バイナリ ファイル (http://www.imagemagick.org/script/) をダウンロードします。 binary- releases.php?ImageMagick=ir9ijldaeppff0fudjv4kmfcj0#windows) では、DLL バージョンのみに開発関連のファイルがあるため、DLL バージョンを選択してください。 DLL バージョンをインストールするには、インストール プロセス中に 2 つのオプションを必ず確認してください。C および C++ 用の開発ヘッダーとライブラリをインストールすることと、システム パスにアプリケーション ディレクトリを追加することです。
3. Imagick ソース コードをダウンロードします
ImageMagick のプログラム インターフェイス ページ (http://www.imagemagick.org/script/api.php) に移動して、PHP インターフェイス Imagick を見つけます。次に、(http://pecl.php.net/package/imagick) をダウンロードし、php ソース コード ディレクトリ (BuildRootDir/php-5.x.x/ext/imagick) の下の ext ディレクトリに抽出します。 imagick ディレクトリ内の config.w32 ファイルを開き、imagick_read.c を imagick_file.c に置き換えます。これはおそらく imagick のバグです。覚えて。
4. Windows を構成します
Windows システムが英語でない場合、またはファイルを開くためのデフォルトのエンコーディングが英語 (米国) ではない場合、コンパイル プロセスは失敗する可能性があります。したがって、Windows システムの構成に若干の変更を加える必要があります。具体的には、コントロール パネルを開き、[地域と言語] を選択し、非 Unicode プログラムの言語項目を見つけて、デフォルトの言語を英語 (米国) に構成します。 )/英語 (米国)。
上記の 4 つの手順を経て、ようやくコンパイルできます。
コンパイルプロセス:
VC のコマンド プロンプトを使用して文字インターフェイス (cmd インターフェイス) に入り、PHP ディレクトリに移動し、パスを確認して win32buildbin ディレクトリがシステム パスに含まれているかどうかを確認します。含まれていない場合は、実行する必要があります。 : set path=BuildRootDirwin32buildbin;% path%.
次に、PHP ソース コード ディレクトリ内の buildconf.bat ファイルを実行して、configure.js ファイルを生成します。次に、システムは「configure --help」と入力するように求めます。この時点で、configure --enable-snapshot-build --disable-zip --disable-zlib --with-imagick=shared
と直接入力できます。以下の最終的に生成されたレポートに imagickshared のような行が含まれているかどうかに注意してください。存在する場合は、configure が成功したことを意味します。 「nmake snap」と入力してコンパイルできます。 nmake snap >build.log を使用してコンパイル出力をファイルにリダイレクトすることをお勧めします。コンパイル プロセスは長すぎるため、将来の検査を容易にするためにログ ファイルが使用されます。
コンパイルが完了すると、Release_TS ディレクトリが作成され、その下に php-5.x.x (5.x.x は php のバージョン番号です) と 3 つの zip ファイルが存在します。
コンパイルの最終結果は php-5.x.x ディレクトリにあります。必要な場所にコピーして使用できます。
テストのコンパイル結果:
以下は、phpinfo() によって返される imagick に関する関連情報です。