apache、Oracleのインストール、PHPでoci関数を利用してOracleに接続する方法

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*
インストールディレクトリ:/usr/lib/oracle/10.2.0.4/client/lib/

3.ld.so.confを編集
#vim /etc/ld.so.conf
次の内容を追加
/usr/lib/oracle/10.2.0.4/client/lib/
#ldconfig

4.OCI8パッケージをダウンロード
wget http://pecl.php.net/get/oci8-1.4.1.tgz
#tar zxvf oci8-1.4.1.tgz

5.OCI8モジュールを編集
#cd oci8-1.4.1
#phpize
#./configure –with-oci8=instantclient,/usr/lib/oracle/10.2.0.4/client/lib/
#make install
oci8.soを「/usr/lib/php/modules/」へインストールした

6.php.iniを編集
#vim /etc/php.ini
次の内容を追加
extension=oci8.so

7.apacheが再起動
service httpd restart

8.PHPでOracleデータベースに接続するコード
<?php
$conn = oci_connect('scott’, 'oracle’, '192.168.1.32/orcl’);
if (!$conn) {
$e = oci_error();
print htmlentities($e['message’]);
exit;
}
$query = 'select ename,sal from scott.emp’;
$stid = oci_parse($conn, $query);
if (!$stid) {
$e = oci_error($conn);
print htmlentities($e['message’]);
exit;
}
$r = oci_execute($stid, OCI_DEFAULT);
if(!$r) {
$e = oci_error($stid);
echo htmlentities($e['message’]);
exit;

}

print '<table border="1″>’;

while($row = oci_fetch_array($stid, OCI_RETURN_NULLS)) {

print '<tr>’;

foreach($row as $item) {

print '<td>’.($item?htmlentities($item):’ ').'</td>’;

}

print '</tr>’;

}

print '</table>’;

oci_close($conn);

?>

PHP

Posted by arkgame