sql >> Databasteknik >  >> RDS >> Oracle

oci_connect-anslutningen misslyckades

På grund av flera felkonfigurationer och 3 dagar förlorade när jag letade efter en lösning gick jag över till att utveckla på Linux-servern och alla problem är borta.

Vad jag har hittat:

  • båda php_oci8.dll och php_oci8_11g.dll är beroende av Oracle Instant Client-biblioteken
    • dessa bibliotek innehåller inte oci_ funktioner (som oci_connect ), endast ociX funktioner (som ociLogon ) vilket är konstigt...
  • även om jag är ganska säker på att jag har laddat ner Oracle Instant Client Basic och alla tilläggen kunde jag inte ansluta till en annan Oracle-server på grund av okänd teckenuppsättning och felet sa att jag bara använder Lite omedelbar klient...
  • Jag provade både 64-bitars och 32-bitars instant-klientversion utan resultat
  • min Apache är 64bit, Windows är 64bit, PHP är 32bit, fjärrstyrd Oracle-server är 64bit, fjärransluten Linux-server är 64bit...
  • provade många miljöinställningar (ORA_HOME , TNS_ADMIN , justerad PATH att se till omedelbar klientinstallation) utan resultat
  • försökte avinstallera den lokala Oracle XE-servern på grund av möjlig störning av miljöinställningar utan resultat
  • tappade nästan huvudet - utan resultat...

Så äntligen på Linux-servern har jag inga problem med att ansluta till fjärrstyrd Oracle-server. Någonstans (när jag surfade över tusentals PHP-Oracle-relaterade sidor) har jag hittat en information om att "man inte bör utveckla PHP-applikationer som ansluter till Oracle-servern under Windows" och bör hålla sig till UNIX-systemet istället...

vem som helst upplever liknande eller samma problem - var så snäll och slösa inte bort din tid, installera en VirtualBox, kör Linux på den och gå vidare!



  1. Varför bara väntastatistik inte räcker

  2. Subtrahera datum i Oracle - nummer eller intervalldatatyp?

  3. Om användbarheten av uttrycksindex

  4. utl_file.fopen Parametrar i Oracle