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:
  1. oracle-xe.deb
  2. basic-10.2.0.5.0-linux.zip
  3. sdk-10.2.0.5.0-linux.zip
  4. Apache 2, PHP (with pear and php5-dev)‏

Install oracle-xe
  1. Menginstall oracle-xe tidak terlalu sulit. Cukup double click file oracle-xe_10.2.0.1-1.1_i386.deb dan ikuti prosesnya
  2. # sudo /etc/init.d/oracle-xe configure
  3. Specify port: 8080 (atau terserah anda). 
  4. Password: Password : up_2_u
  5. Confirm : up_2_u
  6. Start on boot : Y
  7. coba buka http://localhost:8080/apex
  8. Buat tabel sederhana misalnya: mahasiswa dengan field: NIM dan NAMA
  9. 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
  1. Setelah basic dan SDK (zip) sudah di download, extractlah mereka ke directory /opt
  2. # sudo unzip -o basic-10.2.0.5.0-linux.zip -d /opt
  3. # sudo unzip -o sdk-10.2.0.5.0-linux.zip -d /opt
  4. # sudo ln -s /opt/instantclient_10_2/libclntsh.so.10.1 /opt/instantclient_10_2/libclntsh.so
  5. # sudo pecl install oci8
  6. tambahkan: instantclient,/opt/instantclient_10_2
  7. registrasikan modul oci8.so
  8. # sudo sh -c "echo 'extension=oci8.so' > /etc/php5/conf.d/oci8.ini "
  9. tambahkan extension=oci8.so pada file php.ini (gedit /etc/php5/apache2/php.ini)
  10. # sudo /etc/init.d/apache2 reload

Testing
  1. Gunakan phpinfo untuk melihat apakah PHP anda sudah mengaktifkan modul OCI8
  2. Membuat script PHP (coba_oracle.php) untuk mengakses table mahasiswa di oracle tadi:
<?php
$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) : "&nbsp;") . "</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
Next Post Previous Post
2 Comments
  • rizky tanjung
    rizky tanjung June 4, 2013 at 9:59 AM

    wow.. mantap mas.. sangat bermanfaat!!

    • jati.itda.ac.id
      jati.itda.ac.id June 25, 2013 at 6:01 PM

      Makasih mas Rizki

Add Comment
comment url