Oracle
 sql >> Datenbank >  >> RDS >> Oracle

PHP, IIS, Oracle (OCI) funktionieren nicht

Abhängig von der Version von InstantClient, die Sie installiert haben, müssen Sie möglicherweise den bin einschließen Ordner im Pfad, etwa so:

C:\instantclient\bin

Um zu überprüfen, ob die DLL-Dateien im Pfad verfügbar sind, geben Sie where oci*.dll ein in einer Eingabeaufforderung. Es sollte eine Liste mit übereinstimmenden Dateien zurückgeben.

Denken Sie auch daran, dass nur weil Ihr Konto die DLL-Dateien sehen kann, dies nicht bedeutet, dass IIS/PHP dies kann. Das läuft unter einem anderen Konto, das möglicherweise keine Berechtigung zum Zugriff auf die Dateien hat. Überprüfen Sie Ihr IIS-Fehlerprotokoll und PHP php_errors.log Datei für spezifische Fehlermeldungen.

Bearbeiten

Nach einem ziemlich langen Chat , das Problem wurde behoben durch:

  • Aktualisierung des InstantClient von 10.1.0.5 auf 10.2.0.5 (wie in erwähnt). Modulvoraussetzungen :Unter Windows benötigt die php_oci8-DLL Oracle-Clientbibliotheken ab Version 10gR2 oder höher. )
  • Hinzufügen einer Kopie von msvcr71.dll in den InstantClient-Ordner.
  • Herunterladen und manuelles Konfigurieren von PHP von php.net statt PHP Manager for IIS zu verwenden .
  • Gewährleistung des Path Umgebungsvariable wies korrekt auf die InstantClient- und PHP-Ordner.