Adlinux - Membuat koneksi PHP ke Database Oracle pada XAMPP di Windows 10 itu rada-rada sulit. Namun sebenarnya sangat mudah jika sudah dapat selahnya. Saya sendiri butuh waktu 3 hari baru berhasil. Setelah Googling kesana kemari akhirnya berhasil juga membuat koneksi PHP ke Database Oracle. Maklum baru kenalan sama Oracle. :).
Berikut langkah demi langkah menginstall XAMPP pada Windows 10 untuk koneksi PHP dan Database Oracle.
Berikut langkah demi langkah menginstall XAMPP pada Windows 10 untuk koneksi PHP dan Database Oracle.
Resources Yang Saya Gunakan
- Windows 10 pro 64 bit
- XAMPP Portable Win32 PHP-7.3.2 VC15.
- PHP OCI8-2.2.0.7 untuk PHP 7.3.
- Oracle Instant Client Basic NT 12.2.0.1.0.
- Oracle Instant Client SDK NT 12.2.0.1.0. Download instantclient-sdk-nt-12.2.0.1.0.
- oci.DLL untuk Windows 10 64 bit dapat didownload disini.
- Microsoft Visual C++ Redistributable Packages for Visual Studio 2013.
Langkah #1: Install XAMPP
- Download xampp-portable-win32-7.3.2-0-VC15.zip. Kemudian instalasi XAMPP dengan mengekstrak file ZIP ke drive D. D:\xampp
- Jalankan server Apache melalui panel kontrol XAMPP.
- Buka http: //localhost/dashboard/phpinfo.php pada browser Anda untuk melihat arsitektur dan mode keamanan PHP yang diinstal. Perhatikan ini adalah arsitektur PHP yang diinstal dan bukan arsitektur mesin Anda. Disini terlihat bahwa PHP x86 dapat dijalankan pada mesin x64.
Langkah ke #2: Install OCI8
Download paket OEC8 PECL yang diperbarui dari pecl.php.net. Pilih rilis OCI8 dan pilih DLL sesuai dengan arsitektur dan mode thread safety. Misalnya, jika PHP x86 maka gunakan versi "7.3 Thread Safe (TS) x86". Kemudian ganti "D:\xampp\php\ext\php_oci8_12c.dll" dengan "php_oci8_12c.dll" yang baru dari paket OCI8 PECL.
Download "7.3 Thread Safe (TS) x86" atau disini.
Langkah ke #3: Konfigurasi PHP
Edit "D:\xampp\php\php.ini" dan hapus tanda komentar pada baris "extension = oci8_12c". Pastikan "extension_dir" diatur ke direktori yang berisi DLL ekstensi PHP. Sebagai berikut,
Jika proses diatas sudah dilakukan dengan benar namun oci belum juga berhasil dimuat ada beberapa alternatif berikut yang dapat dilakukan:
extension=oci8_12c
extension_dir="D:\xampp\php\ext"
Langkah ke #4: Install Oracle Instant Client
- Download paket Oracle Instant Client Basic dari OTN. Pilih arsitektur yang benar disesuaikan dengan versi PHP. Untuk Windows x86 download "instantclient-basic-nt-12.2.0.1.0.zip" dari halaman Windows 32-bit. Ekstrak file dalam direktori seperti "D:\Oracle" tepatnya ke subdirektori "D:\Oracle\instantclient_12_2". Download instantclient-basic-nt-12.2.0.1.0
- Tambahkan subdirektori ini ke environment variable PATH. Caranya buka Control Panel -> System -> Advanced System Settings -> Advanced -> Environment Variables -> System Variables -> PATH. Dalam kasus ini saya mengaturnya ke "D:\Oracle\instantclient_12_2".
- Jalankan ulang service server Apache dan periksa kembali halaman phpinfo.php. Jika oci berhasil dibuat Anda akan melihat ekstensi OCI8 berhasil dimuat seperti di bawah ini.
Jika proses diatas sudah dilakukan dengan benar namun oci belum juga berhasil dimuat ada beberapa alternatif berikut yang dapat dilakukan:
- Instal Microsoft Visual C++ Redistributable Packages for Visual Studio 2013 kemudian restart service server apache. Paketnya dapat diunduh disini.
- Alternatif lainnya copykan file oci.dll, oraociei12.dll, dan oraons.dll dari folder "D:\Oracle\instantclient_12_2" ke folder "D:\xampp\apache\bin" kemudian restart server apache.
- yang ketiga copykan file oci.dll ke folder "C/windows/SysWOW64" kemudian restart server apache. Saya tidak tau pasti apakah langkah ini ada kaitannya dengan kenapa oci8 tidak dimuat di service php atau tidak.
- Jika step diatas masih juga belum bisa coba tambahkan variable di System Variables Windows caranya Control Panel -> System -> Advanced System Settings -> Advanced -> Environment Variables -> System Variables -> New -> Variable Name: OCI_LIB64 -> Variable value: D:\Oracle\instantclient_12_2
Sumber:
- Installing XAMPP on Windows for PHP and Oracle Database
- PHP Startup: Unable to load dynamic library.
- The procedure entry point OCIstmtgetNextresult could not be located in the dynamic link library oci.dll
ini pakek oracle 11g atau 12g bg ?
BalasHapusOracle 12c
BalasHapusini bisa untuk oracle 10g ngak bang
BalasHapus