sql >> Base de Datos >  >> RDS >> Oracle

conexión oci_connect falló

Debido a varias configuraciones incorrectas y 3 días perdidos mientras buscaba una solución, me mudé para desarrollar en un servidor Linux y todos los problemas desaparecieron.

Lo que he encontrado:

  • ambos php_oci8.dll y php_oci8_11g.dll dependen de las bibliotecas de Oracle Instant Client
    • estas bibliotecas no contienen oci_ funciones (como oci_connect ), solo ociX funciones (como ociLogon ) lo cual es extraño...
  • aunque estoy bastante seguro de que he descargado Oracle Instant Client Basic y todas las extensiones, no pude conectarme a otro servidor de Oracle debido a un juego de caracteres desconocido y el error decía que estoy usando solo Lite cliente instantáneo...
  • Probé la versión de cliente instantáneo de 64 bits y 32 bits sin éxito
  • Mi Apache es de 64 bits, Windows es de 64 bits, PHP es de 32 bits, el servidor remoto de Oracle es de 64 bits, el servidor remoto de Linux es de 64 bits...
  • probé muchas configuraciones de entorno (ORA_HOME , TNS_ADMIN , ajustado PATH para mirar a la instalación instantánea del cliente) en vano
  • intenté desinstalar el servidor Oracle XE local debido a posibles interferencias en la configuración del entorno sin éxito
  • casi pierdo la cabeza - en vano...

Así que finalmente en el servidor Linux no tengo problemas para conectarme al servidor Oracle remoto. En algún lugar (mientras navegaba por miles de páginas relacionadas con PHP-Oracle) encontré información de que "no se debe desarrollar una aplicación PHP que se conecte al servidor Oracle en Windows" y en su lugar se debe ceñir al sistema UNIX...

Así que cualquiera experimentando problemas similares o iguales:¡sea tan amable y no pierda su tiempo, instale un VirtualBox, ejecute Linux en él y siga adelante!