sql >> Databáze >  >> RDS >> Oracle

Připojení oci_connect se nezdařilo

Kvůli několika chybným konfiguracím a 3 ztraceným dnům při hledání řešení jsem přešel k vývoji na Linux serveru a všechny problémy jsou pryč.

Co jsem našel:

  • oba php_oci8.dll a php_oci8_11g.dll jsou závislé na knihovnách Oracle Instant Client
    • tyto knihovny neobsahují oci_ funkce (jako oci_connect ), pouze ociX funkce (jako ociLogon ), což je zvláštní...
  • i když jsem si docela jistý, že jsem si stáhl Oracle Instant Client Basic a všechna rozšíření jsem se nemohl připojit k jinému serveru Oracle kvůli neznámé znakové sadě a chyba říkala, že používám pouze Lite okamžitý klient...
  • Zkoušel jsem 64bitovou i 32bitovou verzi okamžitého klienta bez úspěchu
  • můj Apache je 64bitový, windows je 64bitový, PHP je 32bitový, vzdálený server Oracle je 64bitový, vzdálený server Linux je 64bitový...
  • vyzkoušeli mnoho nastavení prostředí (ORA_HOME , TNS_ADMIN , upravena PATH podívat se na okamžitou instalaci klienta) bez úspěchu
  • pokoušel se odinstalovat místní server Oracle XE kvůli možnému rušení nastavení prostředí bez úspěchu
  • málem jsem přišel o hlavu – bezvýsledně...

Takže konečně na linuxovém serveru nemám problémy s připojením ke vzdálenému serveru Oracle. Někde (při procházení tisíců stránek souvisejících s PHP-Oracle) jsem našel informaci, že "člověk by neměl vyvíjet PHP aplikaci připojující se k serveru Oracle pod windows" a měl by se místo toho držet systému UNIX...

Takže kdokoli zažíváte podobné nebo stejné problémy – buďte tak laskav a neztrácejte čas, nainstalujte si VirtualBox, spusťte na něm Linux a pokračujte!



  1. EF4 - Vybraná uložená procedura nevrací žádné sloupce

  2. Jak zjistím, která transakce způsobuje stav zámku Čekání na metadata tabulky?

  3. Připojení Visual COBOL k MySQL

  4. Průvodce pro CTE v SQL Server