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

oci_connect-Verbindung fehlgeschlagen

Aufgrund mehrerer Fehlkonfigurationen und 3 verlorener Tage bei der Suche nach einer Lösung bin ich zur Entwicklung auf einem Linux-Server übergegangen und alle Probleme sind weg.

Was ich gefunden habe:

  • sowohl php_oci8.dll und php_oci8_11g.dll sind abhängig von den Oracle Instant Client-Bibliotheken
    • diese Bibliotheken enthalten nicht oci_ Funktionen (wie oci_connect ), nur ociX Funktionen (wie ociLogon ), was seltsam ist...
  • obwohl ich mir ziemlich sicher bin, dass ich Oracle Instant Client Basic heruntergeladen habe und allen Erweiterungen konnte ich aufgrund eines unbekannten Zeichensatzes keine Verbindung zu einem anderen Oracle-Server herstellen und der Fehler besagte, dass ich nur Lite verwende Instant-Client...
  • Ich habe sowohl die 64-Bit- als auch die 32-Bit-Instant-Client-Version ohne Erfolg ausprobiert
  • Mein Apache ist 64-Bit, Windows ist 64-Bit, PHP ist 32-Bit, der entfernte Oracle-Server ist 64-Bit, der entfernte Linux-Server ist 64-Bit...
  • viele Umgebungseinstellungen ausprobiert (ORA_HOME , TNS_ADMIN , PATH angepasst um nach der sofortigen Client-Installation zu suchen) vergeblich
  • versuchte, den lokalen Oracle XE-Server aufgrund möglicher Eingriffe in die Umgebungseinstellungen zu deinstallieren, ohne Erfolg
  • hätte fast den Kopf verloren - umsonst...

Auf dem Linux-Server habe ich also keine Probleme, mich mit dem Remote-Oracle-Server zu verbinden. Irgendwo (beim Surfen auf Tausenden von PHP-Oracle-bezogenen Seiten) habe ich eine Information gefunden, dass "man keine PHP-Anwendung entwickeln sollte, die sich mit dem Oracle-Server unter Windows verbindet" und stattdessen beim UNIX-System bleiben sollte ...

Also jeder ähnliche oder gleiche Probleme haben - seien Sie so freundlich und verschwenden Sie keine Zeit, installieren Sie eine VirtualBox, führen Sie Linux darauf aus und machen Sie weiter!