OracleにアクセスするためのPHP接続はoci関数を使用します。以下はコンパイルされたドキュメントです
1. Apache と php パッケージをインストールします
yum install -y httpd php*
2. Oracle コンポーネントをダウンロードします
oracle-instantclient-basic-10.2.0.4-1.i386.rpm
oracle-instantclient-sqlplus-10.2.0.4-1.i386.rpm
oracle-instantclient-devel-10.2.0.4-1.i386.rpm
oracle-instantclient-odbc-10.2.0.4-1.i386.rpm
#rpm -ivh oracle-instantclient* (4 つのコンポーネントすべてがインストールされています)
このとき、/usr/lib/oracle/10.2.0.4/client/lib/ディレクトリが生成されます
3. /etc/ld.so.conf ファイルを変更します
#vim /etc/ld.so.conf
次のコンテンツを追加します
/usr/lib/oracle/10.2.0.4/client/lib/
#ldconfig (コマンド実行)
4. OCI8 コンポーネントをダウンロードします
#tar zxvf oci8-1.4.1.tgz
5. OCI8モジュールを編集します
#cdoci8-1.4.1
#phpize (コマンド実行)
#./configure --with-oci8=instantclient,/usr/lib/oracle/10.2.0.4/client/lib/
#メイクインストール
成功すると、システムは次のメッセージを表示します: oci8.so は /usr/lib/php/modules/ ディレクトリに正常に配置されました
6. php.ini ファイルを変更します
#vim /etc/php.ini
次のコンテンツを追加します
拡張子=oci8.so
7. Apache サービスを再起動します
サービスhttpdの再起動
8. phpinfo() 関数を使用して
を表示します
9. PHP コードを編集して Oracle データベースに接続してテストします
$conn = oci_connect('scott', 'oracle', '192.168.12.133/orcl');
if (!$conn) {
$e = oci_error();
print htmlentities($e['message']);
出る
}
$query = 'scott.emp から ename,sal を選択';
$stid = oci_parse($conn, $query);
if (!$stid) {
$e = oci_error($conn);
print htmlentities($e['message']);
出る
}
$r = oci_execute($stid, OCI_DEFAULT);
if(!$r) {
$e = oci_error($stid);
echo htmlentities($e['メッセージ']);
出る
}
print '
'.($item?htmlentities($item):' ').' | ';