Build oci for PHP

mount DVD iso

mkdir /media/CentOS

mount /dev/cdrom /media/CentOS -o loop

vi /etc/yum.repos.d/CentOS-Media.repo

add file:///media/xxx   corresponding to the DVD media

download php source

yum –enablerepo=c6-media install libxml-devel

resp. yum –enablerepo=c8-media-AppStream install libxml-devel

yum –enablerepo=c6-media install httpd-devel

yum –enablerepo=c8-media-AppStream install libnsl

(replaces the NIS library that used to be in glibc)

extract php sources


make test
make install

Download Oracle Client & SDK

vi /etc/

ldconfig -v

export ORACLE_HOME=/opt/app/oracle/product/11.2.0
ln -s

/usr/sbin/setenforce 0     ??

yum groupinstall “Development tools”

export CFLAGS=-m64
export CPPFLAGS=-m64
export CCASFLAGS=-m64

export CPPFLAGS=”-I/usr/include/oracle/19.5/client64 -m64″

cd php sources
cd ext
cd oci8
./configure –with-oci8=instantclient,/opt/app/oracle/product/11.2.0,
ls modules

cd php sources
cd ext
cd pdo_oci
./configure –with-pdo-oci=shared,instantclient,/opt/app/oracle/product/11.2.0,
ls modules

check with

ldd modules/

all links ok?

make install

check which php.ini is used. If /etc/php.d Directory, add 20.oci.ini with


and run php -v to see if any errors with so

restart Webserver and FPM (if used)


Update for CentOS 8, Minimal Installation (command history):

   16  less /etc/yum.repos.d/CentOS-Media.repo 
   17  mkdir /media/CentOS
   19  mount /dev/cdrom /media/CentOS -o loop
   41  yum --enablerepo=c8-media-BaseOS install mailcap
   49  rpm -ql mailcap
   50  yum --enablerepo=c8-media-AppStream install httpd
   51  yum --enablerepo=c8-media-AppStream install php.x86_64
   56  yum --enablerepo=c8-media-BaseOS install net-tools
   57  rpm -ql net-tools
   58  rpm -q net-tools
   59  find /media -name "net*.rpm"
   60  rpm -qlp /media/CentOS/BaseOS/Packages/net-tools-2.0-0.51.20160912git.el8.x86_64.rpm 
   61  rpm -qlp /media/CentOS/BaseOS/Packages/net-tools-2.0-0.51.20160912git.el8.x86_64.rpm | less
   62  yum --enablerepo=c8-media-BaseOS install net-tools
   66  apachectl configtest
   67  apachectl start
   69  telnet localhost 80
   73  yum --enablerepo=c8-media-AppStream install telnet
   77  ifconfig
   78  dhclient
   79  ifconfig
   90  firewall-cmd --get-default-zone
   91  ip link show
   93  firewall-cmd --list-all --zone=public
   94  systemctl enable firewalld
   95  firewall-cmd --state
   97  firewall-cmd --get-zones
   98  firewall-cmd --get-services
  103  firewall-cmd --get-active-zones
  105  firewall-cmd --zone=public
  106  firewall-cmd --zone=public --list-services
  107  firewall-cmd --zone=public --permanent --add-service=https
  108  firewall-cmd --zone=public --permanent --add-service=http
  109  firewall-cmd --zone=public --list-services
  110  firewall-cmd --reload
  111  firewall-cmd --zone=public --list-services
  112  firewall-cmd --get-active-zones
  122  less /etc/httpd/conf/httpd.conf 
  115  cd /var/www
  129  cd html
  133  vi test.php
  137  mount /dev/cdrom /media/CentOS -o loop
  140  yum --enablerepo=c8-media-AppStream install wget
  143  wget
  144  wget
  149  cksum oracle-instantclient19.5-basic- 
  150  cksum oracle-instantclient19.5-devel- 
  157  rpm -iv oracle-instantclient19.5-basic- 
  158  rpm -iv oracle-instantclient19.5-devel- 
  159  find / -name "oci.h"
  160  echo $ORACLE_HOME
  161  find / -name ""
  163  grep -r oracle /etc/* | less
  164  ldconfig -v
  168  wget
  177  yum --enablerepo=c8-media-BaseOS install bzip
  179  mkdir php
  180  mv php-7.2.11.tar.bz2 php/
  181  cd php/
  183  bunzip2 php-7.2.11.tar.bz2 
  188  yum --enablerepo=c8-media-BaseOS install tar
  189  tar xvf php-7.2.11.tar 
  190  cd php-7.2.11/ext/oci8/
  194  yum --enablerepo=c8-media-AppStream install php-devel
  196  yum --enablerepo=c8-media-AppStream install libxml2-devel
  197  phpize
  202  rpm -qlp /root/oracle-instantclient19.5-basic- 
  203  export ORACLE_HOME=/usr/lib/oracle/19.5/client64
  208  yum groupinstall "Development tools"
  211  find / -name "oci.h"
  210  echo $CPPFLAGS
  222  export CPPFLAGS="-I/usr/include/oracle/19.5/client64 -m64"
  228  ./configure --with-oci8=shared,$ORACLE_HOME
  229  make
  230  ls modules
  231  ldd modules/ 
  233  yum --enablerepo=c8-media-AppStream install libnsl
  234  ldd modules/ 
  235  make install
  236  cd /etc/php.d
  241  vi 20.oci.ini 
  248  systemctl restart httpd
  249  systemctl restart php-fpm



Upgrading from PHP 5.4 to 7.3

php –modules | tee /tmp/54
scl enable rh-php73 ‘php –modules’ | tee /tmp/73
diff /tmp/54 /tmp/73

systemctl stop php-fpm
systemctl start rh-php73-php-fpm
TODO: enable / disable…

scl enable rh-php73 ‘php -v’

yum install rh-php73-php-7.3.11-1.el7.x86_64 rh-php73-php-cli-7.3.11-1.el7.x86_64 rh-php73-php-common-7.3.11-1.el7.x86_64 rh-php73-php-devel-7.3.11-1.el7.x86_64 rh-php73-php-fpm-7.3.11-1.el7.x86_64 rh-php73-php-gd-7.3.11-1.el7.x86_64 rh-php73-php-gmp-7.3.11-1.el7.x86_64 rh-php73-php-intl-7.3.11-1.el7.x86_64 rh-php73-php-ldap-7.3.11-1.el7.x86_64 rh-php73-php-pdo-7.3.11-1.el7.x86_64 rh-php73-php-pecl-apcu-5.1.17-1.el7.x86_64

yum install libxml2-devel

yum remove php-devel.x86_64

tar xvzf php-7.3.11.tar.gz


cd ext/oci8


export ORACLE_HOME=/usr/lib/oracle/12.1/client64
export CPPFLAGS=”-I/usr/include/oracle/12.1/client64 -m64″

scl enable rh-php73 ‘./configure -with-oci8=instantclient’
scl enable rh-php73 ‘make’
cp modules/ /opt/rh/rh-php73/root/usr/lib64/php/modules/

vi /etc/opt/rh/rh-php73/php.d/30-oci.ini

yum install rh-php73-php-soap-7.3.11-1.el7.x86_64

systemctl restart rh-php73-php-fpm