Ubuntu 12.04 + PHP5 + Oracle XE + OCI8
Untuk berkomunikasi dengan oracle-xe, PHP5 membutuhkan modul OCI (Oracle Call Interface).
Berikut langkah2 menginstall modul OCI8 pada Ubuntu 12.04 + oracle-xe:
Preparasi:
- oracle-xe.deb
- basic-10.2.0.5.0-linux.zip
- sdk-10.2.0.5.0-linux.zip
- Apache 2, PHP (with pear and php5-dev)
Install oracle-xe
- Menginstall oracle-xe tidak terlalu sulit. Cukup double click file oracle-xe_10.2.0.1-1.1_i386.deb dan ikuti prosesnya
- # sudo /etc/init.d/oracle-xe configure
- Specify port: 8080 (atau terserah anda).
- Password: Password : up_2_u
- Confirm : up_2_u
- Start on boot : Y
- coba buka http://localhost:8080/apex
- Buat tabel sederhana misalnya: mahasiswa dengan field: NIM dan NAMA
- Ini beberapa record: Misalnya: 09030001 Andi dan 09030002 Budi
Instalasi OCI8
Bagian ini yang cukup sulit terutama menyesuaikan versi instantclient yang cocok untuk versi oracle yang digunakan
- Setelah basic dan SDK (zip) sudah di download, extractlah mereka ke directory /opt
- # sudo unzip -o basic-10.2.0.5.0-linux.zip -d /opt
- # sudo unzip -o sdk-10.2.0.5.0-linux.zip -d /opt
- # sudo ln -s /opt/instantclient_10_2/libclntsh.so.10.1 /opt/instantclient_10_2/libclntsh.so
- # sudo pecl install oci8
- tambahkan: instantclient,/opt/instantclient_10_2
- registrasikan modul oci8.so
- # sudo sh -c "echo 'extension=oci8.so' > /etc/php5/conf.d/oci8.ini "
- tambahkan extension=oci8.so pada file php.ini (gedit /etc/php5/apache2/php.ini)
- # sudo /etc/init.d/apache2 reload
Testing
- Gunakan phpinfo untuk melihat apakah PHP anda sudah mengaktifkan modul OCI8
- Membuat script PHP (coba_oracle.php) untuk mengakses table mahasiswa di oracle tadi:
$conn = oci_connect('system', 'up_2_u', 'localhost/XE');
if (!$conn) {
$e = oci_error();
trigger_error(htmlentities($e['message'], ENT_QUOTES), E_USER_ERROR);
}
$stid = oci_parse($conn, 'SELECT * FROM mahasiswa');
oci_execute($stid);
echo "<table border='1'>\n";
while ($row = oci_fetch_array($stid, OCI_ASSOC+OCI_RETURN_NULLS)) {
echo "<tr>\n";
foreach ($row as $item) {
echo " <td>" . ($item !== null ? htmlentities($item, ENT_QUOTES) : " ") . "</td>\n";
}
echo "</tr>\n";
}
echo "</table>\n";
?>
Ujilah script ini di browser anda: http://localhost/coba_oracle.phpCatatan:
Tested on: Ubuntu 12.04 + PHP5 + Oracle XE
wow.. mantap mas.. sangat bermanfaat!!
Makasih mas Rizki