Apacheサーバ

本節では、PHPをApacheにインストールする際の注意事項とコツについて 説明します。Unix 版と Windows 版の両方につ いて説明します。

Unix上でApacheにPHPをインストールする手順

以下の手順の8行目でconfigure に追加する引数を configureのオプションの全て から選択可能です。

例 2-5 インストール手順 (Apache モジュール版)


1.  gunzip apache_1.3.x.tar.gz
2.  tar xvf apache_1.3.x.tar
3.  gunzip php-x.x.x.tar.gz
4.  tar xvf php-x.x.x.tar
5.  cd apache_1.3.x
6.  ./configure --prefix=/www
7.  cd ../php-x.x.x
8.  ./configure --with-mysql --with-apache=../apache_1.3.x --enable-track-vars
9.  make
10. make install
11. cd ../apache_1.3.x
12. for PHP 3: ./configure --activate-module=src/modules/php3/libphp3.a
    for PHP 4: ./configure --activate-module=src/modules/php4/libphp4.a
13. make
14. make install

  この手順の代わりに、単に既存バイナリにhttpdバイナリを上書きコピーす
  ることも可能です。この場合には、必ずWebサーバをまずシャットダウンさ
  せておいて下さい。

15. cd ../php-x.x.x
16. for PHP 3: cp php3.ini-dist /usr/local/lib/php3.ini
    for PHP 4: cp php.ini-dist /usr/local/lib/php.ini

  PHPオプションを設定するために.iniファイルを編集して下さい。このファ
 イルを他の場所に置きたい場合は、手順8でオプション
  --with-config-file-path=/path を使用して下さい。

17. httpd.conf または srm.conf ファイルを編集し、以下を追加して下さい。
      
     PHP 3の場合:   AddType application/x-httpd-php3 .php3
     PHP 4の場合:   AddType application/x-httpd-php .php
 
  ここで好きな拡張子を選択できます。.php は単に推奨されるだけです。
  .htmlを選択することも可能です。

18. 通常の手順により Apache サーバを起動して下さい。(HUPまたはUSR1シグ
      ナルを使用してリロードするのではなく)サーバを停止してから再起動す
      る必要があります。
     

Apache のインストールやUNIXの種類によりサーバを停止し、再起動する 方法はいくつもあります。複数のApache/UNIXの組合せについてサーバを 再起動する際に使用される典型的な方法を以下に示します。 /path/to/ を使用するシステムのアプリケーション へのパスに置き換えて読んで下さい。


1. 複数の Linux および SysV から派生したもの:
/etc/rc.d/init.d/httpd restart

2. apachectl スクリプトを使用する方法:
/path/to/apachectl stop
/path/to/apachectl start

3. (OpenSSL を使用している場合、) apachectl と同様に httpdctl および
       httpsdctl を使用する方法:
/path/to/httpsdctl stop
/path/to/httpsdctl start

4. Using mod_ssl, or another SSL server, you may want to manually
stop and start:
/path/to/apachectl stop
/path/to/apachectl startssl
      

apachectl および http(s)dctl の実行ファイルの位置はシステムにより 異なります。システムが locate または whereis または which をサポー トしている場合、サーバ制御用プログラムを見つけるために使用するこ とが可能です。

PHPをApache用にコンパイルする別の例を以下に示します。


./configure --with-apxs --with-pgsql
      

これにより、共有ライブラリ libphp4.so が作成 されます。Apacheのhttpd.confファイルにおいて LoadModuleを使用してApacheにこのライブラリをロードすることが可能 です。上の例では、PostgreSQLサポートがこの libphp4.soライブラリに埋め込まれます。


./configure --with-apxs --with-pgsql=shared
      

この例でも Apache用libphp4.so 共有ライブラリ が作成されます。しかし、共有ライブラリ pgsql.so も作成されます。この共有ライブラリ は、php.ini ファイルのextensionディレクティ ブまたはスクリプト内でdl()関数を使用して明示的 にロードすることが可能です。


./configure --with-apache=/path/to/apache_source --with-pgsql
      

これにより、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バイナリになります。


./configure --with-apache=/path/to/apache_source --with-pgsql=shared
      

上と同じですが、最終的なhttpdに PostgreSQLサポートを直接インクルードする代わりに、共有ライブラリ pgsql.soをファイル php.iniまたはdl()により直 接的にPHPにロードすることが可能です。

異なったPHPの構築法を選択する際、各方法の利点と欠点を考慮する必要 があります。共有オブジェクトとして構築する場合、Apacheと分割して コンパイルすることが可能で、PHPを追加または変更する際に全体を再コ ンパイルする必要がありません。PHPをApacheに(静的に)組み込む場合に は、PHPはより高速にロード/実行することが可能です。詳細な情報につ いては、ApacheのDSOサポートのWebペー ジを参照下さい。

Windows上のApache 1.3.xへのPHPインストールの詳細

PHP を Windows 上の Apache 1.3.x で動作させるには、2種類の方法が あります。一つは、CGIバイナリ (php.exe) を使用する方法、もう一つ は Apache モジュールdll を使用する方法です。どちらの場合も Apache サーバを停止し、PHP と組み合むように Apache を設定するために srm.conf または httpd.conf を編集します。

Apache用にPHPを設定する手順にはいくつかありますが、この手順は入門 者にも使用可能な程簡単です。設定用ディレクティブに関する詳細につ いては、Apacheのドキュメントを参照下さい。

サーバを再起動することを忘れないで下さい。再起動は、例えば、 NET STOP APACHE の後に NET START APACHE を実行します。

ソースコードハイライト機能を使用するには、PHPスクリプトファイルを 作成し、次のようなコードを加えてください。<?php show_source ("original_php_script.php"); ?> original_php_script.php の部分を ソースを見たいと思うファイルの名前に置き換えてください。 (これがこの機能を使用するための唯一の手段です。) 注意: Windows版のApache においては、 "c:\directory\file.ext" のようなパス設定におけるバックスラッシュは、 全てスラッシュに変換する必要があります。