I am struggling to connect my PHP application to an Oracle database. I have tried multiple options over the last week with no success.
I have managed to install oci8 extension but the oci_connect function is not recognised.
Please assist.
RedHat Enterprise Linux 7.6
PHP: 7.3
Oracle: 12c
2
Answers
Having struggled for over a week to figure this out, here is a summary of what ultimately worked. I hope this helps somebody else.
These instructions apply to RedHat / CentOS Linux installations. My experience was that the instructions for RedHat / CentOS were slightly different to other Linux installations. AVOID the Oracle guidance... They did not help at all!
Step1: I followed the instructions on this excellent website to install PHP 7.3 and additional Remi rpm packages:https://tecadmin.net/install-php7-on-centos7/
Step 2: I then used the Remi repository (see step 1) to install the oci8 extension:
Step 3: We now need to install the oracle instant client 18.3 packages. This is very nicely explained on this website: https://qiita.com/tkprof/items/2a4eb868f45fb5759110
Step 4: The oracle files have been created in /usr/lib/oracle/18.3 We now need to create a symlink so that the oracle files are included when the server is running:
Step 5: Restart the server
Step 6: We can now create a simple php file that tests the connection to Oracle:
If you get a system error then the installation has not worked.
Update for latest Oracle Instant Client, version 19.3 for PHP-OCI8:
Restart the server
To test the connection, I have created a php file which I upload into the server and test via the browser. NOTE: you should obviously use appropriate caution and delete the file after testing: