PHPでOracle接続

簡単に手順を書きます。


前提として、
OS:CentOS3.9
Apache:2系
PHP4.4.114.4.1
Oracle:10.2.0.3
です。


1) Oracleのサイトより、Oracle Instant Client をダウンロードする

oracle-instantclient-basic-10.2.0.3-1.i386.rpm
oracle-instantclient-devel-10.2.0.3-1.i386.rpm
これだけでも良いが、接続確認の為、SQLPlusも。
oracle-instantclient-sqlplus-10.2.0.3-1.i386.rpm


2) PHPのインストール

configureオプションに以下を付与する
--with-oci8-instant-client=shared,/usr/lib/oracle/10.2.0.3/client/lib


3) php.iniの編集

以下を追加
extension_dir = "#PHPインストールディレクトリ#/lib/php/extensions/no-debug-non-zts-20020429/"
extension=oci8.so


4) 環境変数の設定

LD_LIBRARY_PATH=/usr/lib/oracle/10.2.0.3/client/lib/
ORACLE_HOME=/usr/lib/oracle/10.2.0.3/client
文字化けするようなら、NLS_LANG も追加


5) Apacheの再起動

/etc/rc.d/init.d/httpd stop
/etc/rc.d/init.d/httpd start


6) 接続確認

sqlplus system/manager@DB_SERV_NAME:1521/SID
上記を実行して、以下が表示されればOK

SQL*Plus: Release 10.2.0.3.0 - Production on Wed Mar 25 02:33:57 2009

Copyright (c) 1982, 2006, Oracle. All Rights Reserved.


Connected to:
Oracle Database 10g Release 10.2.0.3.0 - Production

SQL>


7) テストスクリプトにて、PHPから接続出来る事を確認
以下サイトを参考にしました
http://www.doyouphp.jp/inst/inst_unix_dso_430_ic.shtml


これで、テーブルの中身が表示されれば、PHPからのOracle接続は成功!


でわ。