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

connessione oci_connect non riuscita

A causa di diverse configurazioni errate e di 3 giorni persi durante la ricerca di una soluzione, sono passato allo sviluppo su server Linux e tutti i problemi sono scomparsi.

Cosa ho trovato:

  • entrambi php_oci8.dll e php_oci8_11g.dll dipendono dalle librerie Oracle Instant Client
    • queste librerie non contengono oci_ funzioni (come oci_connect ), solo ociX funzioni (come ociLogon ) che è strano...
  • anche se sono abbastanza sicuro di aver scaricato Oracle Instant Client Base e tutte le estensioni, non sono stato in grado di connettermi a un altro server Oracle a causa di un set di caratteri sconosciuto e l'errore diceva che sto usando solo Lite client istantaneo...
  • Ho provato entrambe le versioni client istantanee a 64 bit e 32 bit senza alcun risultato
  • Il mio Apache è a 64 bit, Windows è a 64 bit, PHP è a 32 bit, il server Oracle remoto è a 64 bit, il server Linux remoto è a 64 bit...
  • provato molte impostazioni dell'ambiente (ORA_HOME , TNS_ADMIN , modificato PATH per cercare l'installazione istantanea del client) senza alcun risultato
  • provato a disinstallare il server Oracle XE locale a causa di possibili interferenze con le impostazioni dell'ambiente, senza risultato
  • Ho quasi perso la testa - inutilmente...

Quindi finalmente sul server Linux non ho problemi a connettermi al server Oracle remoto. Da qualche parte (durante la navigazione su migliaia di pagine relative a PHP-Oracle) ho trovato un'informazione che "non si dovrebbe sviluppare un'applicazione PHP che si connetta al server Oracle sotto Windows" e si dovrebbe invece attenersi al sistema UNIX...

Quindi chiunque riscontrando problemi simili o uguali:sii gentile e non perdere tempo, installa un VirtualBox, esegui Linux su di esso e vai avanti!