PHP
Current Version 5.0.0b3


PHPとは

PHP(PHP: Hypertext Preprocesserの略)
Webアプリを動的Webページを作るためのオープンソースで提供されているサーバーサイドスクリプト言語。Apacheのモジュールの一部として動作するので、高速でサーバへの負荷も軽い。DSOとして、libphp5.soモジュールがApacheに組み込める。

Protocol
TCP
Port
80 or 443
Program
/usr/local/bin/php
ダウンロード先
http://www.php.net/
RPM版も存在すると思うが、自分で組み込んだほうが良いだろう。
Install
./configure --各オプション
make
make install
実行方法

拡張子をphpにし、<?php 〜 ?> で囲まれた部分がPHP言語として動作する。

備考
各オプションによって、最新のモジュールが必要になる場合が多い。
DB関係のモジュールは必須のようだ。
現在運用はしてるが、運用そのものがメインではないので、常に最新版でテストしている。
     
メール

 

くれ。間違いだらけかもしれんが、うちは動いている。いたずらは、あぽ〜ん
root@kmr.homeip.net





自サーバの動作環境

PostgreSQL 7.4.1との連携
 
J2SE 1.4.2との連携(コンパイル時は、antが必要かもしれん)
 
GDのサポート
 
xmlへの対応(コンパイル時libxmlの最新バージョンが要求されるかもしれない)
 
opensslへの対応


安定version4.3.4からのアップグレードで問題が起こっていることは今のところない
PostgreSQLとの問題も特に問題は発生してない。
(Linux上の5,6万件のファイル管理を行っている)





ダウンロード・解凍・手順
PHPをダウンロードしてくる。今回は、PHP5 Beta版だ。
http://www.php.net/downloads.php
     
php-5.0.0b3.tar.gz.tarを /usr/local/src上で展開する
展開場所は好みの問題なので、好きなところでドウゾ。
お前らソースどこで展開する?とかいう掲示板もあったんで、暇な方はそちらへ(^^;;
     
展開する
tar zxvf php-5.0.0b3.tar.gz.tar
     
php-5.0.0b3ディレクトリィへ移動する
cd php-5.0.0b3





今回構築するにあたって必要としたオプションだけを抜粋している
(長い・・)
/configure
オプション
説明
--with-apxs=/usr/local/apache/bin/apxs

apxs(perlスクリプト)のある場所を指定する。
ウチの環境は、Apacheが、/usr/local/apache 以下にあるのでこのような設定になってるが、rpmでインストールした場合は別の場所だと思う

 
--with-java=/usr/local/j2sdk1.4.2

Java クラスのインスタンスをPHPに作成出来る。
J2SEがあるディレクトリィを指定。

 
--with-pgsql=/usr/local/pgsql
PostgreSQLを利用する場合に、PostgreSQLがあるディレクトリィを指定する。
 
--enable-mbstring
マルチバイト拡張
日本語、韓国語、など言語自体のサポート
 
--enable-mbstr-enc-trans
読んでそのまんまだと思うんだが、マルチバイト拡張したものをeucへ変換するって意味だと思う。
Linuxなので入れておいた。
 
--enable-mbregex PHP用正規表現拡張モジュール
日本語文字正規表現が使える。
入れた。
 
--with-gd
--enable-gd-native-ttf
GDライブラリを使用できるようにする。
JPEG,PNG,GIFなどの画像処理がつかえる。
現在GDのGIF利用はUNISYS社のライセンス契約の関係で設定できないようになってるらしいが、うちは、enableになってた;;
 
--enable-zend-multibyte 国際化版PHPの機能を有効にする。
encodingディレクティブを使用してスクリプトエンコーディングを明示的に利用出来るようになる。
 
--with-zlib gzip (.gz)で圧縮されたファイルを読み書きする ことが可能となる。
入れた。
 
--enable-wddx WDDXデータ交換をサポートする。
http://www.openwddx.org/faq/にも書いてあるとおりXMLをベースにしたデータ転送方式。
HTTP, SMTP, POP, FTPをプロトコルでサポートされてるようだ。
 
--enable-sockets ソケット関数が使えるようになる。
入れた
 
--enable-ucd-snmp-hack SNMP関数が使えるようになる。
ネットワークに接続された通信機器をネットワーク経由で監視・制御するためのプロトコル。
SNMPを利用してTrafficを計る場合もあるので、入れた。
 
--with-openssl-dir=/usr/local/ssl opensslを使えるようになる。
セキュアな通信をするためには必須だろう。
opensslがあるディレクトリィを指定する。
 
--enable-shmop 共有メモリセグメントを利用可能にする。
2つ以上のプロセス間通信を行う時、同じリソースはメモリー上にあるので、共有メモリから利用するようにする。
高速化の一手段として必要なので入れた。
 
--with-mod_charset mod_charset用変換テーブルを有効にする。
ロシア語をサポートしたApacheを入れてると、ロシア語が使えるらしい。
入れた;;;
 
--enable-roxen-zts Zend Thread Safetyを使ってRoxenモジュールを構築する。
タグ拡張ができるようになる。
詳細はコチラ>>http://www.roxen.com/
     
--enable-calendar 2004/01/09
カレンダー関数を使えるようにする。
http://php.benscom.com/manual/ja/ref.calendar.php

# ./configure --with-apxs=/usr/local/apache/bin/apxs --with-java=/usr/local/j2sdk1.4.2 \
--with-pgsql=/usr/local/pgsql --enable-mbstring --enable-mbstr-enc-trans --enable-mbregex \
--with-gd --enable-zend-multibyte --enable-gd-native-ttf --with-zlib --enable-zend-multibyte \
--enable-wddx --enable-sockets --enable-ucd-snmp-hack --with-openssl-dir=/usr/local/ssl \
--enable-shmop --with-mod_charset --enable-roxen-zts --enable-calendar

#gmake
#gmake install






環境設定を確認する。
/usr/local/libにphp.iniは勝手にインストールされるのかもしれないが、忘れたのでもし無かったら、phpを展開したディレクトリィにphp.ini-distという雛形ファイルがあるので、それをコピーすればよい
 
大事な部分は以下の部分だったので、;をはずして設定を有効にした
#vi php.ini

output_buffering = On
output_handler = mb_output_handler
magic_quotes_gpc = Off
default_charset = Shift_JIS
mbstring.language = Japanese
mbstring.internal_encoding = EUC-JP
mbstring.http_input = auto
mbstring.http_output = SJIS
mbstring.encoding_translation = On
mbstring.detect_order = auto
mbstring.substitute_character = none


PHPモジュールの設定やPostgreSQLの連動のための設定
/usr/local/apache/conf/httpd.confには、自動的に、phpの設定が追加されるが必要な部分だけ抜粋
#vi /usr/local/apache/conf/httpd.conf

#これらは自動で追加されると思うので確認だけでよい
LoadModule php5_module libexec/libphp5.so
AddModule mod_php5.c
AddType application/x-httpd-php .php
AddType application/x-httpd-php-source .phps

#PostgreSQL のライブラリ設定
SetEnv LD_LIBRARY_PATH /usr/local/pgsql/lib


起動確認
webが閲覧できるところに、info.php とでもつくって
<?PHP phpinfo() ?>
と記述する。
http://hoge/info.php などとして表示してみる。

PHP5の設定状態が、一覧表示する出来れば動作確認完了

 

 
 
 
 
PHP5.0.0b3のセットアップ
 
 
2003/12/15
written Komuro