Jetzt müssen Sie noch Oracle und PHP verbinden. Hierzu ist das PHP Modul oci8 zu installieren. Leider liegt dieses nicht vorkompiliert oder gar als .deb Paket vor.
Oracle Instant Client installieren
Falls Sie die Oracle Datenbank auf dem Webserver installiert haben, können Sie direkt das oci8 PHP Modul kompilieren.
Ubuntu / Debian:
Erweitern Sie die Quellen indem Sie
deb http://oss.oracle.com/debian unstable main non-free
der Datei /etc/apt/source.list anhängen.
Dann kann der Client wie folgt installiert werden:
apt-get update
apt-get install oracle-xe-client
Andere Linux-Distributionen:
Laden sie die Basic und SDK Pakete des Oracle Instant Client von http://www.oracle.com/technology/tech/oci/instantclient/index.html herunter. Um die Verbindung zu testen, kann man auch noch SQL Plus installieren.
Erstellen Sie das Verzeichnis /opt/oracle/instantclient, in das Sie die Oracle Instant Client Archive entpacken.
# mkdir -p /opt/oracle/instantclient
# cd /opt/oracle/instantclient
# unzip instantclient-basic-linux32-10.2.0.3-20061115.zip
# unzip instantclient-sdk-linux32-10.2.0.3-20061115.zip
Alle:
Nun müsen noch symbolische Links in dem neuen Verzeichnis angelegt werden.
# ln -s libclntsh.so.10.1 libclntsh.so<br>
# ln -s libocci.so.10.1 libocci.so
Außerdem muss noch der Oracle Bibliothekspfad bekannt gegeben werden.
# sudo vi /etc/ld.so.conf.d/oracle.conf
/usr/lib/oracle/xe/app/oracle/product/10.2.0/server/lib
# sudo ldconfig
Modul kompilieren
Um das PHP Modul kompilieren zu können, werden die PEAR Pakete und PHP5 Quellen benötigt.
#
apt-get install php-pear
php5-dev<br>#
pecl install oci
8
Bei der Frage nach dem ORACLE_HOME Verzeichnis geben Sie entweder das Verzeichnis der Datenbankinstallation "/usr/lib/oracle/xe/app/oracle/product/10.2.0/server" oder im Falle des Oracle Instant Client das Verzeichnis "/usr/lib/oracle/xe/app/oracle/product/10.2.0/client" bzw. "instantclient,/opt/oracle/instantclient" an. Geben Sie zuvor "all" ein, um die Einstellung vornehmen zu können.
Jetzt müssen Sie nur noch das Modul oci8.so in der php.ini aktivieren, wo sich diese befindet, erfahren Sie am besten aus der phpinfo, und den Apache neu starten.
# echo "extension=oci8.so" >> /etc/php5/apache2/php.ini
# echo "extension=oci8.so" >> /etc/php5/cli/php.ini
# ldconfig /usr/lib/oracle/xe/app/oracle/product/10.2.0/server/lib
# apache2ctl restart
Sie können natürlich auch einen Texteditor Ihrer Wahl verwenden.
Über die phpinfo Ausgabe können Sie kontrollieren, ob die Konfiguration funktioniert.
Mit Hilfe des folgenden PHP Skripts können Sie prüfen, ob die Verbindung mit Oracle funktioniert:
<?php
putenv('ORACLE_HOME=/usr/lib/oracle/xe/app/oracle/product/10.2.0/server/');
$oracle = oci_connect('egotec', 'egotec', '//localhost/XE');
if (!$oracle)
{
$e = oci_error();
print htmlentities($e['message']);
exit;
}
?>
<h1>Oracle Verbindung</h1>
APACHE konfigurieren damit oci8 immer mit gestartet wird
# sudo vi /etc/ld.so.conf.d/oracle.conf
dort folgenden Inhalt einfügen:
# libc default configuration /usr/lib/oracle/xe/app/oracle/product/10.2.0/server/lib
und speichern