PHPでFlashを作る:libmingの設定と準備


ApplePHPでFlashを作るための環境を整える作業メモ。けっこう面倒だったなぁ・・・。

目標はPHP+Flashでグラフを出力すること。・・・なんですがPHP+Flashでグラフを出力するライブラリはあるんですよね。PHP/SWF Charts –http://www.maani.us/charts/index.phpからダウンロードできます。

デモを見るだけで飛びあがっちゃう&飛び付いちゃうようなライブラリなんですが、私用・商用問わずグラフをクリックすると作者さんサイトに飛ばすように、と利用規約にあるようなので、今のお仕事には使えない。なんとか自力でライブラリを作らないといけない・・・と思ったのが導入目的です。

Creative Commons License photo credit: f_shields

PHPでFlashを作るモジュールもいろいろありますが、今回導入したのはMingというライブラリ。・・・特にこれでなければいけない理由はないです。libswf というモジュールもあるみたいです。

Mingライブラリ(以下libming)をインストールするために、やらなければいけないことは3つ。

  • libmingインストールのための準備
  • libmingインストール
  • PHPに読み込ませる

libmingのインストールのための準備

libmingをPHPで使うためには php-devel パッケージが必要です。

1
[root@hogehoge ~]# yum -y install php-devel

続いてlibmingに必要なパッケージのインストールをします。

1
2
3
4
5
[root@hogehoge ~]# yum -y install freetype freetype-devel  <- 恐らく必須
[root@hogehoge ~]# yum -y install libpng-devel <- PNGサポートする場合
[root@hogehoge ~]# yum -y install libjpeg-devel <- JPEGサポートする場合
[root@hogehoge ~]# yum -y install giflib-devel <- GIFサポートする場合
[root@hogehoge ~]# yum -y install gd-devel <- 必須?

libmingのインストール

libming公式サイト — https://github.com/libming/libmingへアクセスし libming をダウンロードします。分かりにくいかもですがリリースページ(Releasesと言うリンク)や、このリンクからアクセスするといいかもですね。

ダウンロードしたら解凍、インストールします。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
[hoge@hogehoge ~]$ ls
libming.tar.gz
[hoge@hogehoge ~]$ su -
Password:
[root@hogehoge ~]# mv /home/hoge/libming.tar.gz /usr/local/src/
[root@hogehoge ~]# cd /usr/local/src/
[root@hogehoge src]# tar zxf libming.tar.gz
[root@hogehoge src]# cd libming
[root@hogehoge libming]# ./autogen.sh  <- これを実行すると、マシンにあった configure を作ってくれる
[root@hogehoge libming]# ./configure --enable-php <- PHPで使う
...(configure結果表示)...
[root@hogehoge libming]# make
...(make結果表示)...
[root@hogehoge libming]# make install

–enable-php 以外にも enable_perl や enable_python などがあります。詳しくは configure を開いて確認してみてください。

さて、モジュールができているか確認します。

1
2
3
[root@hogehoge libming]# cd
[root@hogehoge ~]# find / -name ming.so
/usr/include/php/module/ming.so

ming.soができていればOKです。

PHPに読み込ませる

PHPに読み込ませるには /etc/php.d/ 内に拡張モジュールを取り込む.iniファイルを作ればOKです。iniファイルを作ったら、Apacheを再起動します。

1
2
[root@hogehoge ~]# echo "extension=ming.so" > /etc/php.d/ming.ini
[root@hogehoge ~]# service httpd restart

あとはWEBディレクトリのどこかに index.php とか test.php とか作り、以下のコードを記述し、ブラウザでアクセスしてみます。

1
2
3
<?php
    phpinfo();
?>

アクセスしたページ内にming項目があればOKです。

とりあえずこれで Ming を使う準備が整いました。実際にFlashを出力するプログラム等は次の機会にしましょうか。長くなったし(自分がめんどいだけ・・・)。