HOME | Linux | XML | Network

PHP + GDで画像描画

PHPのImage関数を用いると、JPEGやPNGといった画像を扱うことができます。
動的な画像生成に興味があり、環境構築をおこなったときのメモです。このほかに、zlibが必要ですがVineLinux2.1.5にははじめからインストールされていたのでここでは省いています。

ソースのダウンロード

2002/02/21 追記
注) 以下、GDのインストールせずに進めました。というか、忘れていたのですが(^^;
しかし、phpinfo();ではGDがサポートされていました。/home/hogehoge/src/php-4.0.6/ext/gd/ 以下にgd関連のものがありましたがこれだけではフォントの扱いなどがうまく行かないようです。
以下の手順ではJpGraphで日本語表示ができないようです。


一般ユーザのホームディレクトリ/home/hoge/src にソースファイルを保存します。
$ cd ./src
$ wget ftp://ftp.uu.net/graphics/jpeg/jpegsrc.v6b.tar.gz
$ tar xvfz jpegsrc.v6b.tar.gz

jpeg-6bのconfigure,make,make install

$ cd ./jpeg-6b
$ ./configure --prefix=/usr/local/jpeg-6b
$ make
$ make test
root になり、インストールします。
$ su -
# cd /home/hoge/src/jpeg-6b/
# make install
このとき、
/usr/bin/install -c cjpeg /usr/local/jpeg-6b/bin/cjpeg
/usr/bin/install: ファイル ``/usr/local/jpeg-6b/bin/cjpeg'' を作ることができませんでした: そのようなファイルやディレクトリはありません
make: *** [install] エラー 1
このようなエラーメッセージが出た場合は、以下のようにしてあらかじめディレクトリを作成し、再度make installします。
# mkdir -p /usr/local/jpeg-6b/bin
# make install
さらに、
/usr/bin/install: ファイル ``/usr/local/jpeg-6b/man/man1/cjpeg.1'' を作ることができませんでした: そのようなファイルやディレクトリはありません
make: *** [install] エラー 1
このようなメッセージが出力された場合は、以下のようにしてディレクトリを作成し、再度make installします。
# mkdir -p /usr/local/jpeg-6b/man/man1
# make install

PHP4のインストール

ソースのダウンロード

一般ユーザのホームディレクトリ/home/hoge/src にソースファイルを保存します。
$ cd ./src
$ wget http://www.php.net/do_download.php?download_file=php-4.0.6.tar.gz
$ tar xvfz php-4.0.6.tar.gz

PHP4のconfigure,make,make install

configureを実行し Makefile を作成します。prefixでインストール先を/usr/local/php-4.06とします。
すでにPHP4をインストールしている場合は、configureオプションに
--with-jpeg-dir=/usr/local/jpeg-6b/ --with-gd
をつけて、再度makeします。
$ cd php-4.0.6
$ ./configure --prefix=/usr/local/php-4.06 \
--with-jpeg-dir=/usr/local/jpeg-6b/ --with-gd \
--with-config-file-path=/etc \
--with-apxs=/usr/local/apache/bin/apxs \
--enable-mbstr-euc-trans \
--enable-mbstring \
--enable-track-vars
$ make
root になり、インストールします。
$ su -
# cd /home/hoge/src/php-4.06
# make install

PHP4 設定ファイルのコピー

PHPの設定ファイルを、/etcにコピーする。
# cp /home/hoge/src/php-4.0.6/php.ini-dist /etc/php.ini

httpd.confを編集

PHP4の拡張子である .php を有効にするため、httpd.conf を編集する。vi などのエディタで httpd.confを開き、リスト3のようにコメントをはずす。

リスト3:httpd.conf
#AddType application/x-httpd-php .php
     ↓
AddType application/x-httpd-php .php

Apacheの再起動

Apache を起動する。
# /usr/local/apache/bin/apachectl graceful

Webブラウザから、http://HOSTNAME/~hoge/index.php にアクセスします。
注) HOSTNAMEは、Apacheをインストールしたコンピュータのホスト名もしくはIPアドレスです。

phpinfo()が正しく実行されると、画面1が表示されます。

phpinfo-01s.png
画面1:phpinfo()

GDがPHPに組み込まれていると、phpinfo() に画面2が表示されます。

gd-01s.png
画面1:phpinfo()

JpGraph ライブラリ

JPEG形式でグラフ画像を描画するためのライブラリを、一般ユーザのホームディレクトリ/home/hoge/public_html に保存します。
$ wget http://www.aditus.nu/jpgraph/jpgraph-1.5.1.tar.gz
$ unzip jpgraph151.zip
$ cd jpgraph-1.5.1
$ vi jpgraph.php
jpgraph.php をリスト4 のように変更します。
リスト4:httpd.conf
require ( "jpgraph_dir.php");
    ↓
require ( "./jpgraph_dir.php");

解凍してできたディレクトリは、PHPのソースから呼び出せるライブラリとなっています。
/home/hoge/public_html/jpgraph151/src/Examples/ にあるサンプルスクリプトにWebブラウザからアクセスすると図1、図2のようなグラフが表示されます。

PHPにより生成されたチャートグラフ
graph01s.png  graph02s.png
図1:Example1 図2:Example2

Last Update < Thu, 08/21/2003 3:34
HOME | Linux | XML | Network

Copyright © 2003 Rev System All right reserved.