mingでphpファイルをコンパイルする[swf]
phpにはphp_ming.dllを使ってphpソースからswfなどのflashを作成することができます。
今回は別に積極的な開発をするわけではなくて、配布されているソースをちょっこといじるためだけにいろいろ整えるのはめんどくさいので、mingを簡単に扱うメモ。
- PHP: Downloadsから最新版zipをダウンロードする(自分の時はPHP 5.2.6 zip package)
- zlib1.dllをダウンロードする。(どこに最新版があるのかよく分からない)
- mingをダウンロードする。
ダウンロードするのはこれだけで十分だと思うので、PHPのzipを解凍してわかりやすい場所に移す。(C:phpに置いたとする)
コメント欄で教えていただいた方法。コメント欄参照
実は必要なdllは初めからzipファイルの中に入っているようです。解凍したphpのフォルダの中にある(今回で言うとphp-5.2.6-Win32でしょうか)extというフォルダです。
ですので、php.ini中のextension_dir項目をextension_dir = “./ext”としてやることで、上記作業がいらないっぽいですねb<p> それと、mb_internal_encodingのエラーについてですが、それはphp.iniのextension=php_mbstring.dll(デフォルトでは;extension=php_ming.dll同様にコメントアウト)を有効にしてやることで動くみたいです。 </p>
これに少し追加します。
このままではmingのバージョンが古いみたいなので、最初に落とし置いたphp_ming.dllをextの中身に上書きしましょう。
他の3つ(libming-0.dll、libpng12.dll、libungif4.dll)とzlib1.dllはphp.exeと同じフォルダに置かないといけないみたいです。
これでflash8のバージョンまでコンパイルできるようになりました。
もう一つの方法
要は置き場所が違うだけなので、mingのみを扱う場合はこちらの方が楽な気がする。
php.exeと同じフォルダにphp_ming.dll,libming-0.dll、libpng12.dll、libungif4.dllの四つとzlib1.dllを入れる。
次はphp.ini設定
そしてphp.exeと同じディレクトリにphp.ini-recommendedというのがあるのでphp.iniとリネームして、テキストエディターで
;extension=php_ming.dll
を
extension=php_ming.dll
とセミコロンを外す。こうすればmingが実行できるようになる。
;extension=php_mbstring.dll のコメントアウトを外すことで
mb_internal_encoding()が使えるようになります。
mingの実行方法はコマンドプロンプトを開いて、ソースファイル.phpがある場所まで移動してから
C:pathsource> C:phpphp.exe flvplayer_wrapper.php
という風に実行してエラーが出なかったらファイルが出力できる。
こっからはflvplayer_wrapperのはなし。
flvplayer_wrapperをコマンドプロンプトから出力する場合はflvplayer_wrapper.phpの
$movie->output();をコメントアウトして
//$movie->output();
とする。
まとめると
- 最新mingのdllなどを入れる。
- php.iniにリネームして設定
- 使用するディレクトリを指定する。(デフォはphp.exeと同じフォルダ)
- ;extension=php_ming.dll
;extension=php_mbstring.dll
のコメントアウトを外す - php.exe flvplayer_wrapper.php みたいな感じでコマンドプロンプトでコンパイル。
環境:Vista premium
参考[nicolist.net] flvplayer_wrappe
コメントに感謝。
お知らせ欄
JavaScript Primerの書籍版がAmazonで購入できます。
JavaScriptに関する最新情報は週一でJSer.infoを更新しています。
GitHub Sponsorsでの支援を募集しています。