oraphp.jpg

--user root

--php installation prüfen
rpm -qa | grep php
--------------------------------------
yum install php-devel

yum install gcc gcc-c++ autoconf automake

--------------------------------------
vi /etc/profile

export ORACLE_HOME=/usr/lib/oracle/10.2.0.5/client64
export ORACLE_SID=oradsn
export TNS_ADMIN=/etc/oracle
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$ORACLE_HOME/lib
export NLS_LANG=GERMAN
--IP anpassen:
export TWO_TASK=//xxx.xxx.x.x:1521/listener

--------------------------------------
mkdir /etc/oracle

vi /etc/oracle/tnsnames.ora

--SERVICE_NAME anpassen:z.bsp. ORCL

oradsn =
  (DESCRIPTION =
    (ADDRESS_LIST =
      (ADDRESS = (PROTOCOL = TCP)(HOST = xxx.xxx.x.x)(PORT = 1521))
    )
    (CONNECT_DATA =
      (SERVICE_NAME = ORCL)
        (HS = OK)
    )
  )

--------------------------------------
--Oracle instantclient-basic,instantclient-devel in root ordner kopieren:
--------------------------------------

rpm -ivh oracle-instantclient-basic-10.2.0.5-1.x86_64.rpm

rpm -ivh oracle-instantclient-devel-10.2.0.5-1.x86_64.rpm

ln -s /usr/lib/oracle/10.2.0.5/client64/lib/libclntsh.so.10.1 libclntsh.so

--bibliothek prüfen
ldd /usr/lib/oracle/10.2.0.5/client64/lib/libclntsh.so.10.1

pear download pecl/oci8

tar xvzf oci8-2.0.6.tgz

cd oci8-2.0.6/

phpize

./configure --with-oci8=shared,instantclient,/usr/lib/oracle/10.2.0.5/client64/lib/

make

make install

setsebool -P httpd_execmem 1

vi /etc/php.ini

--neu zeilen
[OCI8]
extension=/root/oci8-2.0.6/modules/oci8.so

--enable
date.timezone = Europe/Berlin

echo "extension=oci8.so" %> /etc/php.d/oci8.ini

vi /etc/sysconfig/selinux
--auskommentieren
#SELINUX=enforcing
--neu zeile
SELINUX=disabled

--------------------------------------
--Firewall http https tcp port 1521
--------------------------------------

reboot

--------------------------------------
-- prüfen oci8
php --ri oci8
--------------------------------------

vi /var/www/html/conn.php
-- test php:

<?php

putenv('TNS_ADMIN=/etc/oracle');


$conn = oci_connect('user','pass','oradsn');


if(!$conn)
{
    echo "nicht connected";
    $e = oci_error();
    print htmlentities($e['message']);
    exit;
}else{
    echo "ja conn";

    $abf = oci_parse($conn, 'SELECT * FROM TABLE');
    oci_execute($abf);

echo "<table border='1'%>\n";
while ($row = oci_fetch_array($abf, OCI_ASSOC+OCI_RETURN_NULLS)) {
    echo "<tr%>\n";
    foreach ($row as $item) {
        echo "    <td%>" . ($item !== null ? htmlentities($item, ENT_QUOTES) : " ") . "</td%>\n";
    }
    echo "</tr%>\n";
}
echo "</table%>\n";

}

?%>