本節では、PHPをApacheにインストールする際の注意事項とコツについて 説明します。Unix 版と Windows 版の両方につ いて説明します。 instructions and notes for Apache 2 on a separate pageもあります。
以下の手順の10行目でconfigure に追加する引数を configureのオプションの全て から選択可能です。ここではバージョン番号が意図的に省略 されています。'xxx'の部分を貴方が使用するファイルに対応するものに 置き換えてください。
Apache のインストールやUNIXの種類によりサーバを停止し、再起動する 方法はいくつもあります。複数のApache/UNIXの組合せについてサーバを 再起動する際に使用される典型的な方法を以下に示します。 /path/to/ を使用するシステムのアプリケーション へのパスに置き換えて読んで下さい。
例 3-5. Apacheを再起動するためのコマンドの例
|
apachectl および http(s)dctl の実行ファイルの位置はシステムにより 異なります。システムが locate または whereis または which を サポートしている場合、サーバ制御用プログラムを見つけるために使用するこ とが可能です。
PHPをApache用にコンパイルする別の例を以下に示します。
これにより、共有ライブラリ 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 にコピーされます。続いて、 --activate-module=src/modules/php4/libphp4.a を指定してApacheをコンパイルして下さい。これにより、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ページ を参照下さい。
注意: Apacheのデフォルトのhttpd.confは次のようなセクションがあります。
これを"Group nogroup"やそれに類する値("Group daemon"も一般的です)に変更しない 限り、PHPはファイルをオープンすることができません。
注意: --with-apxs=/path/to/apxsオプションを 指定する場合にはインストールされているバージョンのapxsを指定してください。 Apacheのソースディレクトリ内にあるapxsバージョンではなく 実際にシステムにインストールされているものでなければなりません。
PHP を Windows 上の Apache 1.3.x で動作させるには、2種類の方法が あります。一つは、CGIバイナリ (php.exe) を使用する方法、もう一つ は Apache モジュールDLL を使用する方法です。どちらの場合も Apache サーバを停止し、PHP と組み合むように Apache を設定するために httpd.conf を編集します。
Windwos環境向けのSAPIモジュールはかなり安定してきているため、 互換性と安全性の面からも、CGIバイナリよりSAPIモジュールの 使用を推奨します。
Apache用にPHPを設定する手順にはいくつかありますが、この手順は入門 者にも使用可能な程簡単です。設定用ディレクティブに関する詳細につ いては、Apacheのドキュメントを参照下さい。
マニュアルインストール手順 のセクションに説明されたようにPHPパッケージをunzipで c:\php\に展開した場合、 CGIバイナリを設定するには以下の行をApache の設定ファイルに追加する必要があります。
ScriptAlias /php/ "c:/php/"
AddType application/x-httpd-php .php .phtml
Action application/x-httpd-php "/php/php.exe"
警告 |
CGIセットアップを使用すると、 種々の攻撃にさらされる可能性があります。 CGI security section を読んで攻撃を防ぐ方法を学んでください。 |
PHPをApacheのモジュールとして使用したい場合、必ず php4ts.dllをwindows/system (Windows 9x/Meの場 合)またはwinnt/system32 (Windows NT/2000/XPの場合)ディレクトリに移 動し、以前のファイルを上書きするようにして下さい。 次に以下の行をApacheのhttpd.confファイルに追加して下さい。
PHP 4の場合、httpd.confをエディタで開き、LoadModule ディレクティブのリストの最後に以下のように追加 してください。 LoadModule php4_module "c:/php/sapi/php4apache.dll" そして、PHP 5の場合は以下のようにして下さい。 LoadModule php5_module "c:/php/sapi/php5apache.dll"
ApacheのWindows用インストーラーを使用した場合には AddModuleディレクティブに mod_php4.cを定義する必要があります。 これはClearModuleListディレクティブが定義されて いる場合においては重要なことです。 (少し行スクロールすると見つかるでしょう) AddModuleのエントリのリストを探して、 そのリストの最後に次のように追加します。 AddModule mod_php4.c PHP 5の場合には、AddModule mod_php5.c とします。
# AddType allows you to tweak mime.typesのような フレーズを探してください。AddTypeエントリが いくつか見つかるでしょう。そのリストの最後に次のように 追加してください。 AddType application/x-httpd-php .php. PHPにパースさせたい拡張子を好きなように設定できます。 .php は単に推奨されるだけです。.htmlを選択することも可能ですし、 旧バージョンとの互換のために .php3 を使用することも出来ます。
設定ファイルを変更した後、サーバーを再起動することを忘れないで ください。例えば、ApacheをWindowsのサービスとして実行する場合には NET STOP APACHEの後にNET START APACHE。 あるいは通常のショートカットを使用してください。
ソースコードハイライト機能を使用する方法は二つあります。 しかしその機能はインストール方式に依存します。 PHPをSAPIモジュールとして使用するようにApacheを設定している場合、 httpd.confに次の行を追加してください (AddType application/x-httpd-php .phpを 追加したのと同じ位置です。上記を参照)。 AddType application/x-httpd-php-source .phps.
CGIバイナリとしてPHPを使用するようにApacheを設定している場合には show_source()関数を使う必要があります。 PHPスクリプトファイルを 作成し、次のようなコードを加えてください。 <?php show_source ("original_php_script.php"); ?> original_php_script.phpの部分を ソースを見たいと思うファイルの名前に置き換えてください。
注意: Windows版のApache においては、"c:\directory\file.ext" のようなパ ス設定におけるバックスラッシュは、"c:/directory/file.ext"のよう に全てスラッシュに変換する必要があります。