WEBデザイン・開発講義WEB Design&Development Lecture

PHPの機能拡張:画像と映像モジュールのインストールと確認

PHP機能拡張:画像(ImageMagick)と映像(FFmpeg)モジュールのインストールと「php.ini」設定

『ImageMagick』と『FFmpeg』のダウンロードとインストール設置、「php.ini」設定及び動作確認を理解

『ImageMagick』のダウンロード※画像クリックで拡大表示(リンク)

  1. 「ImageMagick」のダウンロードサイトにある
    http://www.imagemagick.org/script/binary-releases.php の『Windows Binary Release』にある「ImageMagick-6.8.8-2-Q16-x64-dll.exe」が最新版(2014.1.13現在)であるが、PHP5.3.28では動作しない。
    「ImageMagick」のダウンロードサイト
  2. 2014年1月以降では、windows用バイナリーの『msi』タイプの旧バージョンの「ImageMagick」をダウンロードするサイトが見つからず、このサイトに設置しました。
    (注)「ImageMagick」の色々のバージョンを試してみたがいずれもNGとなってしまったため、以下のバージョンを利用して下さい。『Q16』(クオンタム16)は、1ピクセル当り16bit処理のコンポーネットを意味します。
    『ImageMagick-6.6.2-10-Q16-windows-dll.exe』のダウンロード

PHP機能拡張モジュールの「php_imagick.dll」のダウンロード

  1. 『PHP5.3』用のダウンロードサイトがクローズしたので、下記のものをダウンロードして下さい。
    『php_imagick_ts.dll』のダウンロード
  2. PHP5.4+「php_imagick.dll」のダウンロードサイトは、
    http://www.peewit.fr/imagick/ で「php_imagick.dll」をダウンロードできます。('Windows用 PHP5.4/5.5のThread Safe'のもの) PHP機能拡張モジュールの「php_imagick.dll」のダウンロードサイト

『ImageMagick』のインストール

  1. ImageMagickのインストール場所の開始
    ダウンロードした『ImageMagick-6.6.2-10-Q16-windows-dll.exe』をダブルクリックしてインストールを開始します。「Next」ボタンをクリック。
    ImageMagickのインストール場所の開始
  2. ImageMagickのライセンスに同意
    『I accept the agreement』にチェックを入れて、「Next」ボタンをクリック。
    ImageMagickのライセンスに同意
  3. ImageMagick情報の確認
    『Welecome to ImageMagick!』の情報を確認して、「Next」ボタンをクリック。
    ImageMagick情報の確認
  4. ImageMagickのインストール場所の設定
    Cドライブ直下にインストールするため、『C:\ImageMagick-6.6.2-Q16』にパスを変更して、「Next」ボタンをクリック。
    ImageMagickのインストール場所の設定
  5. ImageMagickのスタートフォルダの指定
    デフォルトのままの『ImageMagick6.6.2Q16』として、「Next」ボタンをクリック。
    ImageMagickのスタートフォルダの指定
  6. ImageMagickの他言語用モジュールの指定なし
    デフォルトのままのチェックマークとして、「Next」ボタンをクリック。
    ImageMagickの他言語用モジュールの指定なし
  7. ImageMagickのインストール内容の確認
    インストールする場所等の内容を確認して、「Install」ボタンをクリックしてインストールを開始します。
    ImageMagickのインストール内容の確認
  8. ImageMagickのインストール実行中
    ImageMagickのインストール実行中
  9. ImageMagickのテスト情報の確認
    コマンドプロンプトのテスト情報を確認して、「Next」ボタンをクリック。
    ImageMagickのテスト情報の確認
  10. ImageMagickのインストール完了
    『Completing the ImageMagick ...』のダイアログが表示されてインストール完了です。「Finish」ボタンをクリックして閉じます。
    ImageMagickのインストール完了
  11. ImageMagickのHTMLドキュメントの表示
    インストールされた『ImageMagick』の使い方等のページ「HTMLドキュメント」が表示されます。
    ImageMagickのHTMLドキュメントの表示

(注)インストールが正常に終了すると、「スタート」ボタンにある「すべてのプログラム」に『ImageMagick6.6.2Q16』が追加されます。
加えて、コマンドプロンプト動作ができるように、環境変数の「システム環境変数」にある「Path」にインストール場所の内容『C:\ImageMagick-6.6.2-Q16;』が追加されます。(「;」は、パスの項目区切り)
環境変数にあるImageMagickのPathの確認

『php_imagick_ts.dll』の設置場所と「php.ini」ファイルの設定内容

  1. 「php_imagick_ts.dll」の設置場所
    PHPの機能拡張モジュールは、PHPフォルダの『ext』フォルダに設置するため、ダウンロードした「php_imagick_ts.dll」を設置。
    「php_imagick_ts.dll」の設置場所
  2. 「php.ini」ファイルへ機能拡張モジュールの『php_imagick_ts.dll』を追加してファイル更新
    「php.ini」ファイルの『Dynamic Extensions』の項目の後ろに『extension=php_imagick_ts.dll』を追加する
    「php.ini」ファイルに『extension=php_imagick_ts.dll』を追加
  3. 「php.ini」ファイルの変更した内容を有効にするためには、WEBサーバーの『Apache』の再起動が必要のため、「Apache Service Monitor」を起動し『Restart』ボタンをクリックする。
    以下のエラーメッセージが表示された場合は、「ImageMagick」と「php_imagick_ts.dll」のミスマッチのため発生すると思われるため、『php_imagick_ts.dll』のバージョン『5.3.4-dev』を確認してください。
    「ImageMagick」と「php_imagick_ts.dll」のミスマッチのエラー
  4. 『php_imagick_ts.dll』のバージョン違いによるエラーが多いので、注意が必要です。「php_imagick_ts.dll」のプロパティ表示で『5.3.4-dev』のバージョンを確認してください。
    「php_imagick_ts.dll」のプロパティ『5.3.4-dev』を確認

PHPプログラムによる『ImageMagick』の動作確認

  • PHPインストールモジュール表示の「phpinfo.php」プログラムで確認
    「phpinfo.php」を起動すると以下の『Imagick』が表示されれば、インストールが正常であることが確認できます。
    PHPインストールモジュール表示の「phpinfo.php」プログラムで確認
  • PHPテストプログラムによる『ImageMagick』の動作確認
    「Apache」の再起動(Restart)がOKであっても、PHPの機能拡張モジュール『php_imagick_ts.dll』がマッチしないとエラーが発生するので実際にPHPテストプログラムで確認する必要があります。
  • PHPテストプログラムと画像のダウンロード
    『imagick_inst_testprogram.zip』のダウンロード
    (注)ダウンロード後に解凍して『C:\WEBserver\htdocs\』(HTMLドキュメント・ルート)に設置して下さい。
  • PHPテストプログラム「imagick.php」の内容
    背景画像にロゴ画像を重ねて、新たな画像を作成してその内容を表示するものです。
    PHPテストプログラム「imagick.php」の内容
  • PHPテストプログラム「imagick.php」の表示内容
    テストプログラム『imagick.php』を起動して、背景画像の船舶の上にロゴ画像が重なり新たな画像が完成した内容が表示されれば、『php_imagick_ts.dll』の動作が正常であると確認できます。
    PHPテストプログラムによる『php_imagick_ts.dll』の動作確認
    (注)プログラム実行で『Fatal error ...』のエラーが発生した場合は、「php_imagick_ts.dll」のバージョン違いであると思われるので再度確認する必要があります。
    PHPテストプログラムによる『Fatal error ...』のエラー

『FFmpeg』のダウンロード

  • PHP機能拡張の『ffmpeg-php』をダウンロード
    PHPで映像編集の「FFmpeg」が利用できるように『Zeranoe FFmpeg』サイトから『ffmpeg-php』をダウンロードする。
    PHP5.3の場合『Zeranoe FFmpeg』サイトにあるhttp://x32.elijst.nl/ffmpeg6-php53-win32-vc9-all.zip
    からダウンロード。

『ffmpeg-php』設置とモジュール確認

  1. 「ffmpeg-php」の設置場所
    ダウンロードした「ffmpeg6-php53-win32-vc9-all.zip」を解凍して、「php_ffmpeg.dll」(赤の枠のもの)がPHP機能拡張モジュールとして、PHPフォルダ下の『ext』フォルダに設置し、それ以外のモジュール(緑の枠のもの)は『PHP』フォルダ直下に設置する。
    「ffmpeg-php」の設置場所
  2. 「php.ini」ファイルへ機能拡張モジュールの『php_ffmpeg.dll』を追加してファイル更新
    「php.ini」ファイルの『Dynamic Extensions』の項目の後ろに『extension=php_ffmpeg.dll』を追加する
    「php.ini」ファイルに『extension=php_ffmpeg.dll』を追加
  3. 「php.ini」ファイルの変更した内容を有効にするためには、WEBサーバーの『Apache』の再起動が必要のため、「Apache Service Monitor」を起動し『Restart』ボタンをクリックする。
  4. 「php_ffmpeg.dll」の機能拡張モジュールの確認
    「phpinfo.php」を起動すると以下の『ffmpeg』が表示されれば、インストールが正常であることが確認できます。
    「phpinfo.php」プログラムで「php_ffmpeg.dll」の機能拡張モジュールを確認

PHPプログラムによる『php_ffmpeg』の動作確認

  • PHPテストプログラムと映像のダウンロード
    『ffmpeg_php_testprogram.zip』のダウンロード
    (注)ダウンロード後に解凍して『C:\WEBserver\htdocs\』(HTMLドキュメント・ルート)に設置して下さい。
  • PHPテストプログラム「test_ffmpeg_frame01.php」の表示内容
    テストプログラム『test_ffmpeg_frame01.php』を起動して、『cat.mpeg』の映像データからフレーム画像を取得して「img_cvt」フォルダに保存して表示。また映像データの「所要時間」「フレームの幅、高さ、数、レート」「映像コーデック」「音声の有無」の情報を取得して内容が表示されれば、『php_ffmpeg.dll』の動作が正常であると確認できます。
    PHPテストプログラムによる『php_ffmpeg.dll』の動作確認

PHP機能拡張を追加した「php.ini」のダウンロード
『php.ini_extension.zip』のダウンロード

ffmpeg-php extensionのクラスとメソッド一覧
ffmpeg_extensionの仕様一覧の表示(PDF)

『FFmpeg』のPHP classオブジェクトの構成方法

『FFmpeg』のPHP classオブジェクトは、
『FFmpeg』関連のコマンドプロンプトをインストールして、PHPクラス・オブジェクトのラッパー(wrapper)として動作させることでPHPプログラムから映像・音声コーディック変換が可能になります。
(注)『FFmpeg』のインストール構成方法については、「FFmpegのPHPクラス インストール」を参照ください。

WEB開発環境の補足説明

WEB開発環境のリンク

参考資料の表示

pagetopへ