本節においては、PHP のインストールと設定に関する手引きを示します。
事前に必要な知識とソフトウエアを以下に示します。
UNIX に関する基本的な知識("make" およびC コンパイラを使える程度)
ANSI C コンパイラ
Web サーバー
UNIXプラットフォームでPHPをコンパイルおよび設定する方法は複数あり ます。設定処理は、configureスクリプトでコマン ドラインのオプションを使用することにより制御されます。このページは、 最も一般的なオプションの使用法を概説するものですが、この他にも多く の設定方法があります。詳細については、configureオプションの完全なリスト を参照下さい。
Apacheモジュール として
fhttpdモジュールとし て
AOLServer, NSAPI, phttpd, Pi3Web, Roxen, thttpd, Zeusとして使用する
CGI実行ファイル として
PHPは、Apacheモジュールとしてコンパイルする方法には異なった複数の 方法があります。まず始めに簡単なインストール手順を示します。続い て、特定の目的に即した様々な例を解説付きで示します。
以下の手順の8行目でconfigureに追加する引数を configureのオプションの完全なリスト から選択することが可能です。
これにより、共有ライブラリ libphp4.soが作成 されます。このライブラリは、Apacheの設定ファイル httpd.confのLoadModuleによりApacheにロードさ れます。PostgreSQLサポートは、このライブラリ libphp4.soに組み込まれます。
これによりApacheの共有ライブラリlibphp4.soが 再度作成されます。また、共有ライブラリ pgsql.soも作成されます。このライブラリは、 php.iniの extension 命令またはスクリプトの中 で関数dl()を明示的に使用することによりロードす ることが可能です。
これにより、ライブラリlibmodphp4.a、 mod_php4.cおよびいくつかの関連ファイルが Apacheソースツリーのsrc/modules/php4ディレクト リにコピーされます。この後、Apacheを --activate-module=src/modules/php4/libphp4.a を指定してコンパイルすると、Apacheは libphp4.aをhttpdバイナ リに静的にリンクします。PostgreSQLサポートは、 httpdバイナリに直接インクルードされ、 最終的な結果としては、Apache全体とPHP全体を含む単一の httpdバイナリとなります。
上と同じですが、最終的なhttpdに PostgreSQLサポートを直接インクルードする代わりに、共有ライブラリ pgsql.soをファイル php.iniまたはdl()により直 接的にPHPにロードすることが可能です。
異なったPHPの構築法を選択する際、各方法の利点と欠点を考慮する必要 があります。共有オブジェクトとして構築する場合、Apacheと分割して コンパイルすることが可能で、PHPを追加または変更する際に全体を再コ ンパイルする必要がありません。PHPをApacheに(静的に)組み込む場合に は、PHPはより高速にロード/実行することが可能です。詳細な情報につ いては、ApacheのDSOサポートのWebペー ジを参照下さい。
PHPをfhttpdモジュールとして作成するには、 "Build as an fhttpd module?" に対して、"yes" と答えてください。 (configure の オプション --with-fhttpd=DIR) そして、fhttpd ソースのベースディレクトリを指定してください。 デフォルトディレクトリは、 /usr/local/src/fhttpdです。 fhttpd を使用している場合には、PHP をモジュールとして作成した方が、 より優れた性能、より高度な制御/遠隔実行能力を得ることができます。
PHPは、多くのWebサーバーをサポートするように構築することが可能で す。サーバーに関係する設定オプションの完全なリストについては、 サーバーに関係した オプション を参照下さい。
デフォルトで、PHPはCGIプログラムとして作成されます。これにより、 コマンドラインインタプリタが作成され、CGI処理またはWeb以外のPHPス クリプト実行に使用することが可能です。PHPモジュールをサポートする Webサーバーを実行する場合、一般に性能面からモジュールの方を選択す るべきです。しかし、CGIバージョンでは、Apacheユーザーが異なった PHP対応ページを異なったユーザーIDで実行することが可能です。PHPを CGIとして実行しようとする場合には、セキュ リティの章を一読するようにしてください。
PHPは、以下に示す多くのデータベース(とODBC)をネーティブでサポート しています。コンパイル時に様々なデータベースのサポートを有効にす るために、configureスクリプトに指定するオプ ションが指定されています。詳細については、データベースに関係する全オ プションのリストを参照下さい。
configureへ指定可能なオプションの完全なリス トについては、設定オプションの 完全なリストを参照下さい。
PHPのconfigureを実行した後は、既にCGI実行ファイルまたはPHPライブラリ を構築する準備ができています。コマンドmake に は注意して下さい。構築に失敗し、原因が不明な場合、 問題の節を参照下さい。
PHPをCGIプログラムとして実行した場合、make testと入力することにより構築したものをテストすることが 可能です。構築したものをテストすることは良い考えです。これにより、 早期に使用する環境でのPHPの問題に対して後でその問題と格闘するので はなく、早期に見付けることが可能となります。
PHPをCGIプログラムとして構築した場合には、 make benchとすることにより、ベンチマークを実行 することが可能です。セーフモードがデフォルトでオンの場合、30秒以 上かかるベンチマークは完了させることができません。これは、セーフ モードでは、set_time_limit() を使用することが できないためです。スクリプト用にこの時間を設定するには、設定 max_execution_time を使用して設定して下さい。make bench は、設定ファイルを無視します。
注意: make bench は、PHP 3 でのみ利用可能です。