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
./confgure
make
make test
make install
Download Oracle Client & SDK
vi /etc/ld.so.conf.d/oracle-11g-64.conf
/opt/app/oracle/product/11.2.0
ldconfig -v
export ORACLE_HOME=/opt/app/oracle/product/11.2.0
ln -s libclntsh.so.11.1 libclntsh.so
/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
phpize
./configure –with-oci8=instantclient,/opt/app/oracle/product/11.2.0,11.2.0.3.0
make
ls modules
cd php sources
cd ext
cd pdo_oci
phpize
./configure –with-pdo-oci=shared,instantclient,/opt/app/oracle/product/11.2.0,11.2.0.3.0
make
ls modules
check with
ldd modules/oci8.so
all links ok?
make install
check which php.ini is used. If /etc/php.d Directory, add 20.oci.ini with
extension=oci8
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 https://download.oracle.com/otn_software/linux/instantclient/195000/oracle-instantclient19.5-basic-19.5.0.0.0-1.x86_64.rpm 144 wget https://download.oracle.com/otn_software/linux/instantclient/195000/oracle-instantclient19.5-devel-19.5.0.0.0-1.x86_64.rpm 149 cksum oracle-instantclient19.5-basic-19.5.0.0.0-1.x86_64.rpm 150 cksum oracle-instantclient19.5-devel-19.5.0.0.0-1.x86_64.rpm 157 rpm -iv oracle-instantclient19.5-basic-19.5.0.0.0-1.x86_64.rpm 158 rpm -iv oracle-instantclient19.5-devel-19.5.0.0.0-1.x86_64.rpm 159 find / -name "oci.h" 160 echo $ORACLE_HOME 161 find / -name "libclntsh.so" 163 grep -r oracle /etc/* | less 164 ldconfig -v 168 wget https://www.php.net/distributions/php-7.2.11.tar.bz2 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-19.5.0.0.0-1.x86_64.rpm 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/oci8.so 233 yum --enablerepo=c8-media-AppStream install libnsl 234 ldd modules/oci8.so 235 make install 236 cd /etc/php.d 241 vi 20.oci.ini 248 systemctl restart httpd 249 systemctl restart php-fpm
RHEL
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
./configure
make
cd ext/oci8
phpize
echo $ORACLE_HOME
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/oci8.so /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