Cara Install Oracle Driver untuk PHP di Ubuntu 18.04
Oracle Database atau lebih sering disebut hanya Oracle saja adalah database dengan tipe Relational Database Management System (RDBMS) yang merupakan database proprietary dari Oracle Corporation. Oracle bisa disandingkan dengan bahasa pemrograman PHP. Secara default PHP di Ubuntu 18.04 belum tersedia driver untuk Oracle, jadi harus install secara manual.
0.Persyaratan
Ubuntu 18.04 yang digunakan harus sudah terinstall Apache dan PHP (7.2).
1.Install Oracle Driver
Download Oracle instantclient di sini. Lalu upload ke server.
- instantclient-basic-linux.x64-12.2.0.1.0.zip
- instantclient-sdk-linux.x64-12.2.0.1.0.zip
Extract file yang telah diupload di server.
1 2 | unzip instantclient-basic-linux.x64-12.2.0.1.0.zip unzip instantclient-sdk-linux.x64-12.2.0.1.0.zip |
Membuat folder oracle.
1 | mkdir /opt/oracle |
Memindahkan dan mengubah nama folder instantclient.
1 | mv instantclient_12_2 /opt/oracle/instantclient |
Mengubah kepemilikan folder.
1 | chown -R root:www-data /opt/oracle |
Install dependensi yang dibutuhkan untuk install OCI8 (Oracle Instant Client 8).
1 | apt install php7.2-dev php-pear build-essential libaio1 |
Membuat symbolic link.
1 2 | ln -s /opt/oracle/instantclient/libclntsh.so.12.1 /opt/oracle/instantclient/libclntsh.so ln -s /opt/oracle/instantclient/libocci.so.12.1 /opt/oracle/instantclient/libocci.so |
Menambahkan instant client ke dalam ldconfig.
1 | echo /opt/oracle/instantclient > /etc/ld.so.conf.d/oracle-instantclient.conf |
Update Dynamic Linker Run-Time Bindings
1 | ldconfig |
Install oci8.
1 | pecl install oci8 |
Tampil pertanyaan
1 | Please provide the path to the ORACLE_HOME directory. Use 'instantclient,/path/to/instant/client/lib' if you're compiling with Oracle Instant Client [autodetect] : |
Jawab dengan
1 | instantclient,/opt/oracle/instantclient |
Menambahkan OCI8 ke cli php config.
1 | echo "extension = oci8.so" >> /etc/php/7.2/cli/php.ini |
Menambahkan OCI8 ke apache php config.
1 | echo "extension = oci8.so" >> /etc/php/7.2/apache2/php.ini |
Set environement variables untuk cli (server harus direstart)
1 2 | echo "LD_LIBRARY_PATH=\"/opt/oracle/instantclient\"" >> /etc/environment echo "ORACLE_HOME=\"/opt/oracle/instantclient\"" >> /etc/environment |
Set environement variables untuk the apache.
1 2 | echo "export LD_LIBRARY_PATH=\"/opt/oracle/instantclient\"" >> /etc/apache2/envvars echo "export ORACLE_HOME=\"/opt/oracle/instantclient\"" >> /etc/apache2/envvars |
Restart apache
1 | systemctl restart apache2 |
2.Pengujian
Membuat file info.php.
1 | echo "<?php phpinfo(); ?>" > /var/www/html/info.php |
Browse http://IP-SERVER/info.php, cari oci8.
Selamat mencoba 🙂
not working for me :((