|
Oracle8iにも書いたとおり、Oracleから見た場合、SQL*PlusもPHPも1クライアントにすぎません。そのため、PHPをインストールするサーバにもNet Service(Net8/9)が必要となります。極端に言うとNet ServiceとPHPのコンパイルに必要となるOCI関連のヘッダファイルをインストールすればOKです。今回はCustomインストールで、Net Service・OCIのみインストールしました。
。。。と簡単に書いていますが、Oracle9iのインストール自体に問題ありでした。まあ、まだ正式サポートされていないRed Hat7.2ですので、文句は言えないんですが。。。
ここだけの話、ホントに丸3日かかってしまいました(-"-;ゲソー
せっかくですので、Oracle9iのインストール手順をまとめておきます。ちなみに、こちらのサイトが元ネタです。
今回の環境は以下の通りです。Oracle9iからkernel2.4、glibc2.2が必要と言うことで、今回はRed Hat Linux7.2(FTP版)にOracle9.0.1i for Linuxをインストールしてみました。
- ショップブランドマシン(Athlon 1.4GHz/1300MB Mem/30GB HDD)
- Red Hat Linux 7.2(FTP版。VMware3.0上で稼働)
- Apache1.3.23
- PHP4.1.2
- Oracle 9.0.1i for Linux
まず、CD-ROM(1/3)をmountしてindex.htmlをブラウザ開き、「Quick Installation Procedure」にあるORACLE_HOMEなどの環境変数を設定します。そして、インストーラを起動し、「Available Products」画面で「Oracle9i Client」を選択します。
続く「Installation Types」画面で「Custom」
続く「Available Products Component」画面で「Oracle Call Interface (OCI) 9.0.1.0.0」「Oracle XML Developers Kit 9.0.1.0.0(外せません)」「Oracle XML SQL Utility 9.0.1.0.0(外せません)」「Oracle Net Services 9.0.1.0.0」にチェックを付けます。
これでインストールを開始すると、順調に進みます。。。途中までは(^-^;
で、いきなり、
なダイアログが表示されますので、このまま放っておいて別terminalで、$ORACLE_HOME/bin/genclntshスクリプトを以下のように編集します。
●$ORACLE_HOME/bin/genclntsh :
147 #LD_SELF_CONTAINED="-z defs" <==コメントする
148 LD_SELF_CONTAINED="" <==追加する
:
ldのバージョンの問題で、ld 2.11以前のバージョンではLD_SELF_CONTAINEDフラグを無視するのでエラーは発生しないようです(未確認ですが。。。)。
編集が終わったら、$ORACLE_HOME/bin/genclntshを実行します。なお、完了するまでちょっと時間がかかります。実行が完了したら、先ほどのダイアログの「Retry」をクリックします。あとは、スムーズにインストールできるはずです。
ようやくOracleのインストールが完了ですが、PHPで「--with-oracle」オプションを付ける場合は、$ORACLE_HOME/libにあるlibclntsh.so.9.0からlibclntsh.so.8.0へのシンボリックリンクを張っておきます。
$ cd $ORACLE_HOME/lib
$ ln -s libclntsh.so.9.0 libclntsh.so.8.0
インストールが終わったら、こちらにある通り、PHPをインストールします。こちらは特に問題ありませんでした。今回気付いたのですが、PHP4.1.2のconfigureスクリプトは、すでにOracle9iも考慮していました(「--with-oci8」の場合だけですが)。
なお、ライセンスについては担当営業さんなどに確認してください。
|