動的にswfファイルを出力したFlashLiteによる携帯サイト作成 by php & ming(インストール編)

はてなブックマーク - 動的にswfファイルを出力したFlashLiteによる携帯サイト作成 by php & ming(インストール編)
このエントリーをはてなブックマークに追加
Share on Facebook

swfmillのインストール編はこちら

最近モバイルサイトのFlash化実現を目指していろいろ要素技術の調査をしている。

どうやらモバイルでのFlashサイトはFlashLite1.1を使うべきっぽいのだけれど、ある程度動的なサイトを作ろうとするとLoadVariables関数等でFlash内で外部ファイルを読み出すのはどうも難しい(呼び出す毎に読み込みが発生する+ボタンを押下するといったアクションが必須)

なので、結構手間はかかりそうだけれど、Flash自体を動的に作成することに挑戦することにした。

Flashを動的に出力する方法はいくつかある。

libswf、swfmill,mingなどなど。

google Trendでこの3つを比べてみたら、mingが多く使われているよう(というか他の2つがヒットしない)なので、mingを使ってみることにした。

今回はインストール履歴というかメモ。けっこうはまった。

まず、mingをインストールしてみる。

公式サイトからダウンロード⇒コンパイル⇒make⇒make install

0.4.0.rc1を入れてみる

wget http://downloads.sourceforge.net/ming/ming-0.4.0.rc1.tar.gz?modtime=1215287835&big_mirror=0
tar zxvf ming-0.4.0.rc1.tar.gz
cd ming-0.4.0.rc1
./configure

(ここで色々入れなさいと怒られたもののリスト↓)

sudo yum install -y bison-devel.i386 bison flex byacc freetype-devel.i386 giflib-devel.i386
make
make install

php用のエクステンションも入れる

cd php_ext
make
make install

php.iniに以下を追記

extension=php_ming.so

これで、phpでmingが使えるっぽい。
試しにテストしてけど動かない。

phpに「--with-ming」を付けてmakeしなおしてみる。

./configure --with-ming

(その他のphpコンパイルオプションはこちら)

make

なぜかうまくmakeできなくて手詰まり

mingのパージョンを0.3.0に落として再トライ

wget http://downloads.sourceforge.net/ming/ming-0.3.0.tar.gz?modtime=1139997188&big_mirror=0
wget http://downloads.sourceforge.net/ming/ming-php-0.3.0.tar.gz?modtime=1139997253&big_mirror=0
wget http://www.awm.jp/~yoya/cache/auicon.freeownhost.com/pc/dev/ming/jpeg.c.diff

下の2つは、なぜか別ファイルになってるphp用エクステンションと
JPEG用がうまく出ないのを直すパッチ
この3つをそれぞれtarで解凍
まずJPEGがうまく出ないのを直すバッチをあてる。

mv jpeg.c.diff ming-0.3.0/src/blocks
cd ming-0.3.0/src/blocks
patch -b jpeg.c jpeg.c.diff

でming-0.3.0フォルダに戻って

./configure
make
make install
cd php_ext/
make
make install

ここまでやると--extension_dir(/usr/local/lib/php/extensions/の下あたり)
でphp_ming.soが出来てる。
あとは、php.iniに以下を追記

extension=php_ming.so

apacheを再起動してOK。
・・・かと思ったらうまく動かない。
PHPを再コンパイルしてなかった。

./configure --with-ming

(その他のphpコンパイルオプションはこちら)

make
make install

ちなみにphpのバージョンは5.2.6

これでうまく動いた!

どうやらmingの0.4.0はphpでうまく動かないっぽいね。

コメントをどうぞ

メールアドレスが公開されることはありません。

次のHTML タグと属性が使えます: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong> <img localsrc="" alt="">