UR建築研究所UR建築研究所boxAC総合計画AC総合計画 face UR Architectural LabboxAC Integrated Planning
headline
corner
■PHP

PHPはWebアプリケーションを開発する為のスクリプト言語です。Apacheのモジュールとして動作させる事により、一般のperl cgi に比べて高速に動作し、また、HTMLファイル内に記述する事ができるので、htmlに慣れている人には比較的親しみ易く、PostgreSQLやMySQL等のデータベースとの親和性も良く、もともとWebアプリケーションを意識して開発されているので、同じ目的のコードを組むにもperlよりも簡単にできる事が多い等の特徴があります。

■PHPのインストール

この原稿執筆時点での最新バージョンは4.2.1です。php-4.2.1.tar.gzをダウンロードします。

  • コンパイル・インストール (以下、% # はシェルのプロンプトを表す)

% tar xvzf php-4.2.1.tar.gz
% cd php-4.2.1
% ./configure --with-apxs=/usr/local/apache/bin/apxs --with-gd=/usr
--with-png-dir=/usr/local/lib --with-jpeg-dir=/usr/local/lib
-with-imap=/usr/local/lib/libc-client.a --enable-mbstring
--enable-mbstr-enc-trans --without-mysql --with-pgsql=/usr/local/pgsql
--with-zlib-dir=/usr --with-zlib=/usr
% make
% su
Password: ********
# make install

--with-apxs=/usr/local/apache/bin/apxs
ApacheにDSOで組込む場合のオプションです。=以下にapxsのパスを指定します。

--with-gd=/usr
gdライブラリを使用する場合のオプションです。configure --help の説明では、gdをインストールしたディレクトリを指定するとありますが、実際にlibgd.so等が収まっているディレクトリ、例えば/usr/libを指定すると、configure で何故かエラーが出ます。その場合は、一つ上の階層/usrで指定するとうまく行く事があります。何故そうなのかは筆者は追求した事が無いので分かりません。

--with-png-dir=/usr/lib
gdでpngを描画させたい場合のオプションです。libpngをインストールしたディレクトリを指定しますが、ここでは実際にlibpng.soが収まっているディレクトリを指定してうまくいきました。

--with-jpeg-dir=/usr/lib
gdでjpegを描画させたい場合のオプションです。jpegsrcをインストールしたディレクトリを指定します。

-with-imap=/usr/local/lib/libc-client.a
phpでmail関連関数を使用する場合に指定します。予めimapの最新版をftp://ftp.cac.washington.edu/imap/から取得してコンパイルし、c-client/c-client.a を/usr/local/lib/libc-client.a にコピーし、更にc-client/rfc822.h, mail.h, linkage.h を/usr/local/includeにコピーしておきます。

--enable-mbstring
--enable-mbstr-enc-trans

phpで日本語を扱う場合に必要となるマルチバイト文字列関数を使用する場合に指定します。

--without-mysql
phpではデフォルトでMysqlサポートがONになっており、Mysqlがインストールされていないと、configure終了時に警告が表示されます。特に問題は無いのですが、気持ち悪いので明示的にMysqlサポートをOFFにする為の指定です。

--with-pgsql=/usr/local/pgsql
PostgreSQLをサポートする場合に指定します。

--with-zlib-dir=/usr
--with-zlib=/usr

zlibサポートをONにする時に指定します。これもzlibインストールディレクトリを指定するとhelpには書いてあるのですが、/usr/lib等とするとconfigurでエラーが出ます。1つ上のディレクトリを指定しておきます。

  • PHPの設定

デフォルトで/usr/local/lib ディレクトリに設定ファイルphp.iniが作成されます。このファイルを編集する事でphpの設定を変更する事ができますが、デフォルト設定で特に問題無いと思います。

参考->PHPマニュアルより「設定」

  • Apacheの設定

httpd.confを編集し、以下の行を追加しておきます。

AddType application/x-httpd-php .php
DirectoryIndex index.html index.php

  • PHPサンプルスクリプトを動かしてみる

適当なディレクトリに以下の内容をtest.phpとして保存する。

<?phpinfo()?>

Apacheを再起動し、ブラウザでtest.phpを表示させた時に、サーバー設定情報画面が表示されればOKです。

■関連リンク