Zugriff über PHP auf Oracle-DB

Vertigo21

Erfahrenes Mitglied
Hallo zusammen.

Bei mir läuft PHP auf einem IIS 6 Webserver. Da Bedarf besteht vom Webserver aus (über die Intranetseite) auf einen anderen Server mit einer Oracle 9.0.2 DB zuzugreifen, lag der Schluss natürlich nahe, diesen Zugriff mit PHP zu realisieren.

Ich habe mich nun auch schon fröhlich durchs Forum gearbeitet und Google bemüht und auch einiges gefunden. Die Intranetseite auf dem Webserver ist ziemlich wichtig, daher möchte ich ihn natürlich nicht zerschiessen. Daher meine Frage: Sind die von mir recherchierten Vorgehensweisen richtig oder habe ich etwas übersehen
  1. Oracle-Client auf dem Webserver von CD installieren, siehe http://www.altova.com/manual2006/MapForce/mapforce-professional/mfforacleclientinstallation.htm oder http://www2.uibk.ac.at/zid/software/pc/db/oracle.html
  2. PHP-Extension downloaden und in die Seiten einbinden
  3. "php.ini" auf dem Webserver anpassen (Wie genau?)
  4. evtl. noch Port-Freigaben für den Oracle-Listener anpassen
  5. Test durchführen

***EDIT***
@Mods: Eventuell ins Datenbanken-Forum verschieben? Ich war mir jetzt nicht ganz sicher.
 
Zuletzt bearbeitet:
Inzwischen habe ich den Oracle-Client installiert und hänge immer noch an der Konfiguration der "PHP.ini". phpinfo() sagt mir, dass Oracle definitiv noch nicht eingebunden ist.

Kann mir einer sagen was ich da anpassen muss, bzw. wo ich Informationen über die Anpassung finden kann?
 
Ach so, das wusste ich nicht. Ich konnte es bislang nur zu Hause mit XAMPP testen, und nach der Installation des Oracle-Clients hat phpinfo() behauptet, es würde funktionieren. (Ich ändere die Liste oben gleich mal für "spätere Generationen")

Wo bekomme ich die Extension denn her? Bei mir läuft PHP 5.0.4 und Oracle 10g.
 
Zuletzt bearbeitet:
Es gibt da 2 Extensions, einmal die Oracle-Extension, das ist wohl die alte Version. Bei Version kleiner als 5.1 ist diese noch dabei, ab 5.1 gibt es die nur noch als PECL-Extension.
Dann gibt die, wohl neuere, OCI8-Extension. Ich denke die wird bei PHP dabei sein, zumindest konnte ich jetzt nichts von PECL finden.
In jedem Fall wirst Du wohl PHP oder zumindest die Extension neu kompilieren muessen. Oder vielleicht gibt es die auch seperat zu installieren, aber da wuerde ich zu "eher nicht" tendieren.
 
Wie man PHP selbst kompiliert hab ich vor Kurzem hier beschrieben.
Zusaetzlich duerfte fuer die die Option --with-oci8 von Bedeutung sein.

Nachtrag: Ich seh grad, dass es sich wohl um Windows handelt. Da wirst Du mal schauen muessen ob die Extension bei der Windows-Version dabei ist und gegebenenfalls noch aktivieren muessen. Falls sie nicht dabei ist wirst Du mal schauen muessen ob es diese irgendwo fuer die Windows-Version von PHP als Download gibt.
 
Ok, danke erstmal. Ich suche mal danach und poste dann ggf. meine Ergebnisse hier.

Zur Info:
Windows2003 Server
IIS 6.0
PHP 5.0.4
 
Nach der eingehenden Analyse meines Problems ist die Lösung praktisch exakt die gleiche wie hier.

Anmerkung:
Windows2003 Server
IIS 6.0
PHP 5.0.4 (Installer)

  1. PHP-Version als ZIP-Datei herunterladen (NICHT den Installer!)
  2. PHP "von Hand" installieren. Anleitung liegt der ZIP-Datei bei.
  3. "php.ini" öffnen und Semikolons vor den entsprechenden DLLs entfernen, Stichwort "Windows Extensions", ggf. noch den Pfad ändern bei "Directory in which the loadable extensions (modules) reside."
  4. ==> Thema erledigt (Neustart des Servers oder ähnliches ist nicht notwendig, Reload der Internetseite sollte reichen, falls nicht ggf. IIS neu starten (läuft als Dienst in Windows --> Rechtsklick auf Arbeitsplatz/Verwalten/Dienste und Anwendungen/Dienste))
  5. Für die Verbindung zu einer Oracle-DB muss noch der Oracle-Client installiert werden und die Konfiguration in der Datei "tnsnames.ora" richtig vorgenommen werden (wie das von statten geht ist bei Oracle.de gut dokumentiert)

Auch dieser Link könnte hilfreich sein
 
Zuletzt bearbeitet:
Zurück