Zum Inhalt springen

Konfiguration Windows Server 2019 mit IIS, PHP und OCI/PDO


Shadowman

Empfohlene Beiträge

Hallo zusammen,

da es sich um eine Administrationsfrage auf Grund von Programmierung handelt, bin ich bezüglich der Position des Threads nicht ganz sicher, hoffe aber dass es halbwegs korrekt ist.

Ich habe einen Windows Server 2019, auf dem ich einen IIS nutze. Dort ist PHP 8.2.1 per FastCGI implementiert. Verbindungen aus PHP Richtung MySQL werden ohne weiteres unterstützt, jedoch benötige ich zusätzlich noch Verbindungen zu Oracle Datenbanken. Hierzu habe ich die Methoden OCI und PDO gefunden.

Sowohl der Oracle Instant Client 19.19 als auch 21.10 wurden auf dem Server abgelegt und die entsprechenden Pfade in die Umgebungsvariable "PATH" eingefügt (inkl. Neustart des Servers). Die Pfade werden geladen und unter phpinfo() angezeigt, jedoch liefern die Methoden folgende Fehler:

oci_connect : There is something wrong with your system - please check that PATH includes the directory with Oracle Instant Client libraries

pdo : Uncaught PDOException: SQLSTATE[]: pdo_oci_handle_factory: <<Unknown>>

Laut phpinfo() ist OCI8 Support "enabled", die Oracle Compile-time Instant Client Version ist "19.11" (PHP wurde damit anscheinend kompiliert), aber die Oracle Run-time Client Library Version ist "0.0.0.0.0"

Mir gehen leider die Ideen aus, was ich vergessen oder falsch gemacht haben könnte und wäre daher um jede Idee oder Hinweis dankbar.

Link zu diesem Kommentar
Auf anderen Seiten teilen

Ich weiß nicht, ob das so eine gute Idee ist, so ein System auf einem aktuellen Windows Host zu konfigurieren.

Vielleicht hilft so eine Anleitung:

https://www.tutorialspoint.com/php_mysql/php_mysql_environment.htm#

Allerdings wüsste ich nicht, ob aktuelle Windows Server in Verbindung mit IIS und Apache so noch funktionieren. Da wird man sicher suchen müssen. Auf der Apache Website stehen nur Konfigs, die sich auf noch auf Windows NT beziehen. Vielleicht gibt es jemand in den Foren von Apache, die dazu etwas aktuelleres sagen können.

Die Konfig auf einem aktuellen Linux System dürfte deutlich einfacher sein und hier wird man sicher auch mehr Unterstützung finden.

Bearbeitet von tkreutz2
Link zu diesem Kommentar
Auf anderen Seiten teilen

Wenn es um Sicherbeitsbedenken geht: ich befinde mich in einem geschlossenen und gesicherten Umfeld. Zugriffe kommen nur aus dem LAN von gesicherten Clients.

Auf der Seite habe ich leider nichts zu OCI oder Oracle gefunden.

Eine Kombination von Apache und IIS ist glaube ich nicht möglich, da beide konkurrierende Anwendungen sind.

Ich überlege auch gerade, was die Gründe für den Wechsel von Apache zum IIS waren. Anfangs hatte ich Apache verwendet, jedoch bewusst gewechselt.

Link zu diesem Kommentar
Auf anderen Seiten teilen

vor 4 Stunden schrieb Shadowman:

Ich überlege auch gerade, was die Gründe für den Wechsel von Apache zum IIS waren. Anfangs hatte ich Apache verwendet, jedoch bewusst gewechselt.

Na ja, das sollte grundsätzlich auch funktionieren. Vielleicht mal nach Microsofts Anleitung vorgehen.

https://learn.microsoft.com/de-de/iis/application-frameworks/scenario-build-a-php-website-on-iis/overview-build-a-php-website-on-iis

https://learn.microsoft.com/de-de/iis/application-frameworks/scenario-build-a-php-website-on-iis/configuring-step-1-install-iis-and-php

Es gibt natürlich auch manuelle Installaton unter Windows Server 2019

 

Hab es aber jetzt selbst noch nicht probiert.

Bearbeitet von tkreutz2
Link zu diesem Kommentar
Auf anderen Seiten teilen

Ich hatte die Änderung/Ergänzung deines vorherigen Posts noch gesehen, dass Du Linux als OS angesprochen hast. Dieser Wechsel ist leider nicht möglich, da nur Windows Server bereitgestellt werden.

Die Anleitung ist super, aber all diese Schritte (außer die Erweiterung WinCache) habe ich schon durchgeführt.

Grundsätzlich funktioniert PHP auf dem IIS, ich habe auch alles konfiguriert, dass ich Netzwerkauthentifizierungsinformationen (für SSO) mit übergebe, lediglich OCI oder PDO bekomme ich noch nicht hin.

Möglicherweise werde ich mir die Tage nochmal OCI/PDO unter Apache anschauen und ggf. doch einen erneuten Wechsel in Betracht ziehen, falls es zu dem Thema Anleitungen gibt.

Link zu diesem Kommentar
Auf anderen Seiten teilen

Am 21.7.2023 um 20:46 schrieb Shadowman:

Möglicherweise werde ich mir die Tage nochmal OCI/PDO unter Apache anschauen und ggf. doch einen erneuten Wechsel in Betracht ziehen, falls es zu dem Thema Anleitungen gibt.

Na ja, dann bist Du ja doch schon einen guten Schritt weiter gekommen. OCI/PDO Anbindung würde ich mal als eigene Baustelle betrachten. Vielleicht ist es hilfreich, wenn Du Dir eine "Spielwiese" parallel aufbaust, also eine VM, in denen Du bestimmte Schritte für Dich detailliert dokumentierst und danach Step by Step alles auf das spätere Live System überträgst, wenn die Vorgehensweise dokumentiert ist.

Es ist wichtig, in solchen Szenarien nach dem Zwiebelprinzip zu arbeiten, dass man immer wieder über Wiederherstellungspunkte hat, die einen schnell zu einem vorherigen Schritt zurückführen.

Ja, generell solte das auch unter Windows Umgebungen funktionieren. Manchmal sind es halt Details, fehlende Pfade oder Systemvariablen, die noch gesetzt werden müssen.

Wenn es eine Komponente gibt, bei der die Konfiguration so gar nicht gelingen mag, kann ein schneller Weg auch sein, zu überlegen, ob man genau diese Komponente noch durch eine Alternative tauschen kann. Ein VM Szenario mit verschiedenen Produkten kann dabei helfen.

Viel Erfolg !

Link zu diesem Kommentar
Auf anderen Seiten teilen

Das ganze Thema ist nicht gerade leicht, da ich eigentlich Entwickler bin, dieses Thema also wirklich nicht meine Kernkompetenz ist 😅

Für sehr viele Dinge gibt es ausreichend und auch gute Anleitungen, hier jedoch leider garnicht. Als weitere Option war mir eingefallen, dass ich PHP vielleicht selbst Kompilieren sollte, da ich in der phpinfo die Version 19.11 finde (die ich selbst nicht eingestellt habe) und in den Verweisen aus PHP von einem Laufwerk N lese, welches definitiv nicht von mir kommt.

Möglicherweise wurden nicht alle benötigten DLL's mit ins Compile übernommen. Außerdem sollte ich auf der Distributionsseite von PHP noch recherchieren, ob dort etwas zu dem Thema steht.

Gerade kommt mir nämlich der Gedanke, dass IIS vermutlich komplett außen vor lassen sollte, da die PHP Installation die Verbindung zu OCI hält, nicht der IIS. Vermutlich war mein Ansatz für die Ursachenfindung ein falscher.

Vielen Dank für den sehr guten und hilfreichen Austausch!

Bearbeitet von Shadowman
Link zu diesem Kommentar
Auf anderen Seiten teilen

  • 1 Monat später...

Ich bin leider noch nicht dazu gekommen, mich um dieses Thema zu kümmern, da an anderen Stellen wichtigere "Probleme" aufgetaucht sind, die zuerst behoben werden müssen.

Teaser: Endlosanfragen wegen "Transfer-Encoding: chunked" einer externen Anwendung an den Server via PHP unter FastCGI 😅

Sobald ich an diesem Thema weiter arbeiten kann werde ich hier schreiben, welche Schritte ich durchgeführt habe.

Link zu diesem Kommentar
Auf anderen Seiten teilen

Dein Kommentar

Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung wiederherstellen

  Nur 75 Emojis sind erlaubt.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Editor leeren

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...