I have oracle instantclient 19.3 installed and can see that OCI8 is loaded in PHP from a terminal by running php -m. I also added LD_LIBRARY_PATH and ORACLE_HOME and environment variables to /etc/php-fpm.d/www.conf. They show up correctly in the environment section in phpinfo.
However, oci8 still does not show loading from apache.
Any suggestions on what else I can try to get this to work?
2
Answers
Miracle of miracles. Oracle has a specific instaclient for Linux 8. You can download it here. https://www.oracle.com/cis/database/technologies/instant-client/linux-x86-64-downloads.html
Installing that driver took care of the problem. Wahoo ;)
On Linux,
LD_LIBRARY_PATH
must be set before a process starts.On Oracle Linux 8 / RHEL 8 I found that I needed to edit
/etc/php-fpm.d/www.conf
and add:I had installed the Oracle Instant Client RPMs packages; change the path to suit your library location.
I also disabled SELinux with
setenforce permissive
to avoid the errorORA-12546: TNS:permission denied
. (Update: note the comment below about usingaudit2allow
)When using Instant Client, you should not set
ORACLE_HOME
.