ORACLE 10g XE + PHP
Sejak 2 bulan (lebih) terakhir gw diminta untuk develop aplikasi yang berbasis PHP dan oracle. jujur, gw kena ‘panic mode’. soalnya yang biasa pake mysql atau mssql server sekarang diminta pake oracle. sebenernya sih alasan gw gak pernah nyoba oracle tuh gara-gara resource hardware yang gw punya gak cukup (heheheheheh).
Kebetulan ada source oracle 10g xe di salah satu hdd. sourcenya dapet ngopi dari hdd-nya pa onno. langsung deh liat requirement hdd-nya. ternyata untuk yang 10g XE cuman butuh memory 256MB. wah cocok nih sama spek ram gw punya. eh, ternyata setelah di install komputer gw jadi lelet bgt (hahahahah).
Hal pertama yang gw rasain rada beda dengan di mysql adalah cara koneksi php ke oracle. kalo di mysql langsung mysql_connect(hostname,username,password), nah kalo di oracle ini rada beda, apalagi kalo server DB-nya terpisah. kita harus pake library tambahan ‘oracle instant client’.
Dibawah ini howto yang gw dapet dari pengalaman baru gw ngoprek oracle + php :
requirement sw:
1. oracle 10g XE
2. apache+php (gw pake XAMPP)
3. oracle instant client (kalo mau connect ke server oracle remote).
Install oracle 10g XE
- setelah selesai install, maka login ke user interface yang disediakan dengan menggunakan internet browser. ketik http://localhost:8080/htmldb pada address bar web browser.
- kemudian login dengan menggunakan username ’system’ dan password ’system’ (tanpa kutip).
##### selanjutnya kita akan memanfaatkan database HR yang udah ada di database XE buat dipake percobaan koneksi sama php.
- masuk ke menu ‘administration’ - ‘database users’
- pilih HR (yang masih ada gambar kunci-nya).
- kemudian masukkan password + confirm password (harus sama dong….)
- klik list pada ‘account status’, rubah dari locked menjadi unlocked.
- trus klik ‘alter user’
konfigurasi php
- download oracle instant client dari web-nya oracle (ketik aja di google, oracle instant client download).
- extract file oracle instant client (misal : c:\instant_client_10_2)
- masuk ke start-setting-controlpanel-system
- pilih tab advanced - environment variables
- edit path, trus tambahkan ‘;c:\instant_client_10_2′
- klik new-> variable name : local
-> variable value : XE
klik ok
- klik new-> variable name : NLS_LANG
-> variable value: AMERICAN
klik ok
- buka file ‘php.ini’ (posisinya ada di folder XAMPP/apache/bin)
- uncomment ‘php_oci8.dll’
- save
- restart apache
- untuk men-cek apakah php sudah support oracle, buat file info.php yang isinya
< ? phpinfo() ?>.
kalo udah ada OCI8…. berarti sudah bisa digunakan untuk koneksi ke database oracle.
Testing koneksi php -> oracle
- buat file test.php yang isi-nya sebagai berikut :
$conn = oci_connect(’hr’,'hr’,'//ip_db_server:1521/XE’);
$sql = “SELECT * FROM employees”;
$stmt = oci_parse($conn, $sql);
oci_execute($stmt);
echo “< p r e >“;
while ( $row = oci_fetch_assoc($stmt) ) {
print_r($row);
}
######################
keterangan :
ip_db_server = ip address db server oracle
1521 = port yang digunakan
XE = nama database pada oracle 10 XE
######################
tulisan diatas merupakan hasil kompilasi dari literatur yang ada dan pengalaman ngoprek,
mudah-mudahan berguna.
btw selamat menunaikan ibadah puasa untuk umat islam semua…..
# 24092006 12:21:00 AM -> 3,5 menuju sahur pertama




Mau tanya dong. Saya pakai xampp for Windows nih. Gimana ya kalau oci8 belum terdeteksi? Saya sudah hilangkan tanda ; di depan tulisan extension=php_oci8.dll di file php.ini di xampp/apache/bin/ (sudah restart juga), tapi nggak berhasil juga. Kenapa ya?
Comment by Lucky — September 10, 2007 @ 12:21 pm
mas bisa minta software oracle nya,………tolong sy dikasih link yang cepat utk download oracle nya
Comment by stanleylindowris — February 3, 2009 @ 7:13 am
matur nuwun…
makasih banyak…
sudah jalan gan php oracle 10g nya…
Comment by ade vicidin sp — April 22, 2009 @ 1:18 pm
mas, kalo untuk mempercepat akses koneksi php dengan oracle gimana yah?
Comment by kazper — May 20, 2009 @ 7:59 am