sql >> Database teknologi >  >> RDS >> Oracle

oci_connect forbindelse mislykkedes

På grund af adskillige fejlkonfigurationer og 3 dages tab, mens jeg ledte efter en løsning, gik jeg over til at udvikle på Linux-serveren, og alle problemerne er væk.

Hvad jeg har fundet:

  • begge php_oci8.dll og php_oci8_11g.dll er afhængige af Oracle Instant Client-bibliotekerne
    • disse biblioteker indeholder ikke oci_ funktioner (som oci_connect ), kun ociX funktioner (som ociLogon ) hvilket er mærkeligt...
  • selvom jeg er ret sikker på, at jeg har downloadet Oracle Instant Client Basic og alle udvidelserne kunne jeg ikke oprette forbindelse til en anden Oracle-server på grund af ukendt tegnsæt, og fejlen sagde, at jeg kun bruger Lite øjeblikkelig klient...
  • Jeg prøvede både 64bit og 32bit instant klientversion uden held
  • min Apache er 64bit, Windows er 64bit, PHP er 32bit, ekstern Oracle-server er 64bit, ekstern Linux-server er 64bit...
  • prøvede mange miljøindstillinger (ORA_HOME , TNS_ADMIN , justeret PATH at se til øjeblikkelig klientinstallation) uden nytte
  • forgæves prøvede at afinstallere den lokale Oracle XE-server på grund af mulig interferens med miljøindstillinger
  • tabte næsten hovedet - uden held...

Så endelig på Linux-serveren har jeg ingen problemer med at oprette forbindelse til en ekstern Oracle-server. Et eller andet sted (mens jeg surfede over tusindvis af PHP-Oracle-relaterede sider) har jeg fundet en information om, at "man ikke bør udvikle PHP-applikation, der forbinder til Oracle-server under Windows", og bør holde sig til UNIX-systemet i stedet...

enhver oplever lignende eller samme problemer - vær så venlig og spild ikke din tid, installer en VirtualBox, kør Linux på den og kom videre!



  1. Er der en bedste måde at undgå udførelse af processen mere end én gang i Oracle?

  2. Specialtegn i PHP / MySQL

  3. Fejl:Kolonnen findes ikke

  4. Hvordan man omskriver ER FORSKELLIG FRA og ER IKKE FORSKELLIG FRA?