Windows 2000/XPへのOracle、PHP、Apacheのインストール

By Robert Clevenger
更新:Christopher Jones、2010年10月

PHPを使用してOracle Databaseとやり取りする準備ができていますか。 ここでは、Oracle Database、Apache HTTP Server、PHPをApacheモジュールとしてWindowsにインストールする手順について説明します。 この例ではWindows XP Professionalを使用しています。

ソフトウェア要件:

ソフトウェア バージョン URL
Oracle Database 10g Express Edition 10.2 http://www.oracle.com/technetwork/database/express-edition/
Apache HTTP Server 2.2 http://httpd.apache.org/download.cgi
PHP Hypertext Processor 5.3 http://windows.php.net/download/

Oracle Databaseのインストール

 

Oracle Databaseをインストールするには、次の2つの方法があります。 Windowsマシン上にローカルでデータベースをインストールするか、または別のマシン上のOracleサーバーをネットワーク経由で使用できます。 データベースをリモートから使用する場合、『Installing PHP and the Oracle Instant Client for Linux and Windows』を参照してください。

それ以外でOracle Databaseを初めて使用する場合は、Oracle Database 10g Express Editionをインストールします。この作業はわずか数分で完了します。 Express Edition("XE")の自己解凍型実行可能ファイルOracleXE.exeをダウンロードし、ダブルクリックするだけで、インストール・ウィザードが実行されます。

Oracle Databaseの開始と停止

インストールが完了すると、Oracle XEが実行されます。 ブラウザでデータベースのホームページhttp://127.0.0.1:8080/apex/を開くと、データベースのテストを実行できます。 ユーザー名"SYSTEM"と、インストール時に指定したパスワードを使用します。

データベースを再起動する必要がある場合は、Windowsの「スタート」メニューから「Start Database」と「Stop Database」を使用します。

Apache HTTP Serverのインストール

Windows上にApacheをインストールする際、もっとも簡単な方法はApache Server ProjectからMicrosoft Windowsインストーラ(例:httpd-2.2.16-win32-x86-no_ssl.msiパッケージ)をダウンロードする方法です。 ローカル・マシンにインストールするには、ファイルをダブルクリックし、ウィザードの指示に従います。 "only for the Current User"オプションを選ぶとOracle XEのデフォルト・ポートである8080と競合するため、"for All Users, on Port 80"を選択します。Apacheのロケーションには、デフォルトのC:\Program Files\Apache Software Foundation\Apache2.2が選択されていますが、その他のディレクトリでも問題ありません。

Apacheの開始と停止

インストール中にWebサーバーが開始されます。 Webブラウザでhttp://localhost/を開いて、ローカル・マシンでテストを実行します。 'It works!'をいうメッセージを表示したページが確認できます。

システム・トレイにApache Monitorコントロールが表示されるため、必要に応じて簡単にHTTP Serverを停止し、再起動することができます。 または、Windowsのスタートメニューに追加されたApacheオプションを使用します。

PHPのインストール

 

php.netから、PHP 5.3.3の"VC6 x86 Thread Safe"ZIPパッケージであるphp-5.3.3-Win32-VC6-x86.zipをダウンロードします。

インストール手順

  1. PHPパッケージを解凍し、C:\php-5.3.3ディレクトリにファイルを移動します。

  2. C:\php-5.3.3\php.ini-developmentをC:\Program Files\Apache Software Foundation\Apache2.2\conf\php.iniにコピーします。

  3. php.iniを開き、次の内容を編集します。

    • extension_dir = "C:\php-5.3.3\ext"のように設定します。このディレクトリにはphp_oci8.dllとその他のPHP拡張が含まれています。

    • extension=php_oci8.dllの行のコメントを外します(行の開始部分からセミコロンを削除します)。

  4. C:\Program Files\Apache Software Foundation\Apache2.2\conf\httpd.confを開き、次の行を追加します。 バック・スラッシュ'\'ではなく、スラッシュ'/'を使用するよう注意してください。

    #
    # This will load the PHP module into Apache
    #
    LoadModule php5_module c:/php-5.3.3/php5apache2_2.dll

    #
    # This next section will call PHP for .php and .phtml files
    #
    AddType application/x-httpd-php .php
    AddType application/x-httpd-php .phtml

    #
    # This is the directory containing php.ini
    #
    PHPIniDir "C:/Program Files/Apache Software Foundation/Apache2.2/conf"

Apache HTTP Serverの再起動

PHPのインストールをテストするには、Apache Serverを再起動する必要があります。 システム・トレイのApache Monitorか、スタートメニューのオプションを使用します。 問題が発生する場合、ログ・ファイルであるC:\Program Files\Apache Software Foundation\Apache2.2\logs\error.logを確認します。

エラーが発生する場合、httpd.confphp.iniを再確認し、問題を修正します。

Oracle Databaseを使用したApacheとPHPのテスト

Oracle DatabaseにおけるPHPのテストは簡単です。 ドキュメントのルート・ディレクトリ(通常はC:\Program Files\Apache Software Foundation\Apache2.2\htdocs)にPHPファイルを配置するだけで完了です。

PHPのテストに使用されるファイルは2つあります。

phpinfo.php

1番目のファイルを使用すると、基本的なPHPのインストールがテストされます。 ブラウザでhttp://localhost/phpinfo.phpへ移動し、このファイルを開きます。 PHPがインストールされている場合、PHP構成情報を含んだ大きいページが表示されます。

<?php
    phpinfo();
?>

"oci8"というタイトルの付いたセクションを確認します。

oci8test.php

 

2番目のファイルを使用すると、HRユーザーに所有されたEMPLOYEES表からname列とsalary列が取得され、表示されます。 このテストを実行するには、HRスキーマがインストールされていなければなりません。そうでない場合、スクリプトを変更する必要があります。 HRスキーマはOracle Database XEに同梱されています。 Database home pageのAdminstrationセクションを使用すると、アクセスをアンロックし、パスワードを設定することができます。

Oracle Database XEでは、データベースの接続文字列として単純に"localhost/XE"が使用されています。 マシンがファイアウォールの内側にあるか、または何らかの理由でlocalhost が解決されない場合、"localhost"をIPアドレス(127.0.0.1)またはマシンのDNS名で置換する必要があります。 XEを使用していない場合、接続文字列をデータベースのOracle Networkエントリに変更します。

<?php

    $conn = oci_connect("hr", "hr_password", "localhost/XE");

    $stid = oci_parse($conn, "select last_name, salary from employees");
    oci_execute($stid);

    $nrows = oci_fetch_all($stid, $results);

    echo "<html><head><title>Oracle PHP Test</title></head><body>";
    echo "<center><h2>Oracle PHP Test</h2><br>";
    echo "<table border=1 cellspacing='0' width='50%'>\n<tr>\n";
    echo "<td><b>Name</b></td>\n<td><b>Salary</b></td>\n</tr>\n";

    for ($i = 0; $i < $nrows; $i++ ) {
        echo "<tr>\n";
        echo "<td>" . $results["LAST_NAME"][$i] . "</td>";
        echo "<td>$ " . number_format($results["SALARY"][$i], 2). "</td>";
        echo "</tr>\n";
    }

    echo "<tr><td colspan='2'> Number of Rows: $nrows</td></tr></table>";
    echo "<br><em>If you see data, then it works!</em><br></center></body></html>\n";

?>

まとめ

これで、Oracle Database、Apache HTTP Server、PHPのインストールと構成が完了しました。 この時点で、Oracleプラットフォーム上でPHPアプリケーションを作成する準備ができています。

Oracle DatabaseでPHPを使用する方法について、詳しくはオラクルが無償で提供しているUnderground PHP and Oracle Manualを参照してください。

PHP Developer Center

Oracle XE forumPHP Forumを利用すると、質問を投稿することができます。