Month: March 2020

PHP and OCI8 Installation for RHEL8

Download the following packages:
oracle-instantclient18.5-basic-18.5.0.0.0-3.x86_64.rpm
oracle-instantclient18.5-devel-18.5.0.0.0-3.x86_64.rpm
oracle-instantclient18.5-sqlplus-18.5.0.0.0-3.x86_64.rpm

Install the downloaded packages and the libnsl library:

# dnf install oracle-instantclient18.5-basic-18.5.0.0.0-3.x86_64.rpm oracle-instantclient18.5-devel-18.5.0.0.0-3.x86_64.rpm oracle-instantclient18.5-sqlplus-18.5.0.0.0-3.x86_64.rpm
# dnf install libnsl (ensure x86 and not i686)

Download and install the EPEL repository:
# rpm -Uvh https://dl.fedoraproject.org/pub/epel/epel-release-latest-8.noarch.rpm

# dnf install -y https://rpms.remirepo.net/enterprise/remi-release-8.rpm

Install PHP and OCI8:

# dnf module list php
# dnf module enable php:remi-7.4 -y (if you get the following message: “The operation would result in switching of module 'php' stream '7.2' to stream 'remi-7.4’”)
# dnf module reset php (enter “y”)
# dnf module enable php:remi-7.4 -y
# dnf install -y php php-cli php-common php-fpm php-pear gcc curl-devel php-devel zlib-devel pcre-devel php-pecl-http systemtap-sdt-devel
# export PHP_DTRACE=yes
# setenforce 0
# echo "instantclient,/usr/lib/oracle/18.5/client64/lib" | pecl install oci8-2.2.0.tgz
# echo extension=oci8.so >> /etc/php.ini
# echo extension=oci8 > /etc/php.d/20-oci8.ini
# systemctl restart php-fpm
# systemctl restart httpd