Do You PHP?    
Search Engine Optimization  php5 powerd  Valid XHTML 1.0!  Valid CSS!  このサイトのはてなブックマーク数 



last updated
2004/04/03

counter hits
since 1999/11/06


PHP4.0.6 for Win32+Oracle8iのインストール(DSO版)

alertここにある情報はかなり古くなっており、正しくなくなっている可能性があります。掲載しているサンプルコードiなどは、最新のPHPでは動作しない、もしくは、別途設定・調整が必要になるかも知れません。情報を鵜呑みにせず、あなたの手を動かして、あなたの目で確認してください。

OracleをサポートしたPHPをApache DSO(Dynamic Shared Object)としてのインストール手順を示します。

memo基本的なインストール手順は、PHP4.3.xでもPHP5.0.xでも同じです。また、ダウンロードしたアーカイブを展開したときに作成されるinstall.txtを一読しましょう。

1.今回の環境

以下の環境で確認しています。

  • ショップブランドマシン(Athlon 1.4GHz/1300MB Mem/30GB HDD)
  • Windows2000 Professional + SP2
  • Apache1.3.20 for Win32
  • PHP4.0.6 for Win32
  • Oracle8.1.7i

2.Apacheのインストール

Apacheのインストールのページを参照して、DSOをサポートするようインストールしてください。

3.Oracleのインストール

実際の手順は、Oracleのインストールガイドにお任せします(^^;

4.Apache・PHPのWin32バイナリを入手

Apache本家(http://httpd.apache.org/)とPHP本家のサイト(http://www.php.net/)からWindows用バイナリを取得します。最新版は(2001/10/02現在)は、Apache1.3.20、PHP4.0.6です。

5.Apacheのインストール

ダウンロードしたexeファイルを実行し、ダイアログに従ってインストールします。

6.PHPのインストール

PHPはZip形式で圧縮されているので、任意のディレクトリに解凍します。今回は「e:\usr\local\php」としましたので、以下の説明はあなたの環境に合わせて読み替えてください。解凍後、e:\usr\local\php\php4ts.dllを%windir%、あるいは%windir%\system32に移動します。また、e:\usr\local\php\dllsディレクトリにあるDLLファイルも%windir%、あるいは%windir%\system32にコピーしておきます。

7.Apacheのインストール

Apacheをインストールしたディレクトリ直下のconfディレクトリにhttpd.confがあるので、環境に合わせて編集します。

# host 名
ServerName [host名]

# URLでファイルが指定されなかった場合に表示するファイル名
DirectoryIndex index.html index.php

# コメントをはずす
AddType application/x-httpd-php .php
AddType application/x-httpd-php-source .phps

# なければ追加する
LoadModule php4_module e:/usr/local/php/sapi/php4apache.dll

8.php.iniの設定

PHP4の設定ファイルであるphp.iniのコピー&設定を行います。PHP を解凍したディレクトリにphp.ini-distファイルがありますので、%windir%/php.iniとしてコピーします。コピーしたら、以下の内容を追記します。詳細はPHPマニュアルなどを参照して下さい。

; 拡張モジュールへのパスを修正
extension_dir = e:/usr/local/php/extensions/

; Oracle を使う場合は、いずれかのコメントをはずす
; 特に理由がなければ、OCI8の方をアンコメントする
extension=php_oci8.dll
;extension=php_oracle.dll
  

alert両方をコメントアウトするとApache自体起動しませんでした(コマンドライン、サービスとも)。が、どちらか片方だけであればApacheが起動し、Oracleへの接続もできました。

memoextension_dirには、ディレクトリextensionsの絶対パスの他、apache.exeからディレクトリextensionsへの相対パスを指定してもOKです。

9.Apacheの起動と動作確認

DOSプロンプト からApacheを起動します。

> cd [Apacheをインストールしたディレクトリ]
> apache

以下のようなPHPスクリプトを用意し、Oracleとの接続テストを行います。


<?php
<b>●Oracleとの接続テスト</b>
<hr>
<?php
    // Oracleとの接続
    $conn = OCILogon("scott", "tiger", "orcl");

    // SQL文のparse
    $stmt = OCIParse($conn,"select * from emp ");

    // SQL文の実行
    OCIExecute($stmt);
    $ncols = OCINumCols($stmt);

    echo "<TABLE BORDER='1'>";
    echo "<TR>";
    for ( $i = 1; $i <= $ncols; $i++ ) {
        $column_name  = OCIColumnName($stmt,$i);
        echo "<TH>" . $column_name . "</TH>";
    }
    echo "</TR>";

    // データのFetch
    while(OCIFetch($stmt))
    {
        echo "<TR>";
        for ( $i = 1; $i <= $ncols; $i++ ) {
            $column_name  = OCIColumnName($stmt,$i);

            // データの表示
            echo "<TD>" . OCIResult($stmt, $column_name) . "</TD>";
        }
        echo "</TR>";
    }

    echo "</TABLE>";

    // リソースの解放
    OCIFreeStatement($stmt);

    // Oracleから切断
    OCILogoff($conn);
?>

ブラウザからアクセスしてみて、以下のようにテーブルの内容が表示されればOKです。

Apacheの起動確認

10.必要であれば、サービスに登録する

もし、WinNT・Win2000にインストールするなら、サービスとして登録しましょう。

> cd [apache.exeがあるディレクトリ]
> apache -i    インストール
> apache -u    アンインストール


About This Site |  Privacy Policy |  Contact
Copyright © 1999 - 2004 by Hideyuki SHIMOOKA all rights reserved.