sql >> Database >  >> RDS >> Oracle

oci_connect verbinding mislukt

Vanwege verschillende verkeerde configuraties en 3 dagen verloren tijdens het zoeken naar een oplossing, ben ik gaan ontwikkelen op een Linux-server en alle problemen zijn verdwenen.

Wat ik heb gevonden:

  • beide php_oci8.dll en php_oci8_11g.dll zijn afhankelijk van de Oracle Instant Client-bibliotheken
    • deze bibliotheken bevatten geen oci_ functies (zoals oci_connect ), alleen ociX functies (zoals ociLogon ) wat vreemd is...
  • hoewel ik er vrij zeker van ben dat ik Oracle Instant Client Basic heb gedownload en alle extensies, ik kon geen verbinding maken met een andere Oracle-server vanwege een onbekende charset en de fout zei dat ik alleen Lite gebruik directe klant...
  • Ik heb zowel de 64-bits als de 32-bits instant-clientversie geprobeerd, maar zonder resultaat
  • mijn Apache is 64-bits, Windows is 64-bits, PHP is 32-bits, Oracle-server op afstand is 64-bits, Linux-server op afstand is 64-bits...
  • veel omgevingsinstellingen geprobeerd (ORA_HOME , TNS_ADMIN , aangepast PATH om te kijken naar instant client-installatie) zonder resultaat
  • geprobeerd de lokale Oracle XE-server te verwijderen vanwege mogelijke interferentie met omgevingsinstellingen, maar zonder resultaat
  • bijna mijn hoofd kwijt - tevergeefs...

Dus eindelijk op de Linux-server heb ik geen problemen om verbinding te maken met de externe Oracle-server. Ergens (tijdens het surfen over duizenden PHP-Oracle-gerelateerde pagina's) heb ik informatie gevonden dat "men geen PHP-applicatie moet ontwikkelen die verbinding maakt met de Oracle-server onder Windows" en in plaats daarvan bij het UNIX-systeem moet blijven...

Dus iedereen soortgelijke of dezelfde problemen ondervindt - wees zo aardig en verspil geen tijd, installeer een VirtualBox, voer Linux erop uit en ga verder!



  1. Best practices voor back-ups voor MySQL, MariaDB en Galera Cluster

  2. Voorwaardelijke bestelling door

  3. Lijst van alle buitenlandse sleutels op een tabel in SQL Server

  4. Hoe id met max datumgroep per categorie selecteren in PostgreSQL?