Foros del Web » Programando para Internet » PHP »

Conexion remota PHP + Firebird, imposible!

Estas en el tema de Conexion remota PHP + Firebird, imposible! en el foro de PHP en Foros del Web. Buen día a todos! Me encuentro ya hace varios días en medio de un conflicto, intentando realizar una conexión remota, entre el host de un ...
  #1 (permalink)  
Antiguo 14/09/2017, 06:16
Avatar de NnikoO  
Fecha de Ingreso: agosto-2008
Ubicación: Rosario
Mensajes: 245
Antigüedad: 16 años, 3 meses
Puntos: 0
Pregunta Conexion remota PHP + Firebird, imposible!

Buen día a todos!

Me encuentro ya hace varios días en medio de un conflicto, intentando realizar una conexión remota, entre el host de un cliente, y la DB de su empresa alojada en el host de un tercero.

En primer lugar, renegue hasta que el prestador de servicio del host donde se encuentra alojado el sitio, accediera a instalar el driver de Firebird para PDO, y luego Firebird/InterBase.

Ya con esto, no hubo, ni hay, respuesta favorable al intento de conexión, ni con PDO ni con ibase.
Mensajes de error obtenidos:
- Unable to complete network request to host "localhost".
- SQLSTATE[HY000] [335544472] Your user name and password are not defined. Ask your database administrator to set up a Firebird login.
- Connection rejected by remote interface.

A todo esto sumarle, que los encargados del server donde se encuentra alojada la DB, NO TIENEN ABSOLUTAMENTE IDEA DE NADA, ni de desarrollo, ni de conexiones remotas con PHP. El soporte técnico es nulo, además alegan que no tienen ni tuviero nunca un cliente que realice una conexión remota hacia ellos, por lo que no saben del tema.

Espero alguien sepa darme algún indicio de como poder solucionar esto, ya que sobrepasó mis conocimientos, y hasta mi lógica.

Muchas gracias de antemano.

Saludos!
  #2 (permalink)  
Antiguo 14/09/2017, 10:09
alvaro_trewhela
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: Conexion remota PHP + Firebird, imposible!

Mira yo no me considero un EXPERTO en el tema de conexiones, algo de conocimientos tengo, pero creo que sería bueno que revises bien todo el tema, lo digo porque los errores son explícitos

- Unable to complete network request to host "localhost".
Lo más seguro es que la conexión la estás haciendo a localhost. si estas TOTALMENTE seguro que estás haciendo bien la conexión, puede ser que la estés haciendo a localhost en otra parte de tu código y te esté arrojando el error por eso, tal vez tienes un include o require por ahí o mas abajo...

- SQLSTATE[HY000] [335544472] Your user name and password are not defined. Ask your database administrator to set up a Firebird login.
Esto es claro en la base de datos el usuario y/o contraseña no están definidos, pide que te hagan un usuario y contraseña para hacer bien la conexión

- Connection rejected by remote interface.
Y acá es donde no se que pueda estar sucediendo, si tu sistema (apache) no permite conexiones remotas o es el sistema remoto, valga la redundancia, quien no permite conexiones remotas. Posibles soluciones:

1. Preguntarle al tipo si ya ha establecido conexiones remotas con otros sistemas
2. Si tienes un equipo a la mano en tu red instala la base de datos, levantas el servicio, verificas la ip del equipo (de la red, no la de internet), y haces la conexión, pero antes revisa que los puertos estén habilitados, y firewalls, antivirus, etc. estén deshabilitados para esta operación

La uno sería para cerciorar que el problema es remoto, y la dos para ver si el problema es tuyo

Eso por mi parte.
Saludos
  #3 (permalink)  
Antiguo 14/09/2017, 10:23
Avatar de NnikoO  
Fecha de Ingreso: agosto-2008
Ubicación: Rosario
Mensajes: 245
Antigüedad: 16 años, 3 meses
Puntos: 0
Respuesta: Conexion remota PHP + Firebird, imposible!

Estoy testeando todo en un script que solo tiene la conexión, y mensaje para verificar que resultó efectiva o errónea, 0 includes. Escasas lineas.

Probe las credenciales (host, db, user, pass), definiendolas como variables, metiendolas directo en las sentencias, y nada.

El server donde esta alojado el sitio tiene habilitado para conexiones remotas, y el firewall no bloquea ningún puerto.

En lo que respecta a los encargados del server donde se encuentra la DB a donde debo conectar, no tienen ningún otro cliente conectando de manera remota... parece una burla, pero es así. Y no tienen idea prácticamente. Ellos argumentan que testearon todo y funciona la conexión remota, pero desde programas de gestión de DB, no chequearon nada desde código.
  #4 (permalink)  
Antiguo 14/09/2017, 10:39
alvaro_trewhela
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: Conexion remota PHP + Firebird, imposible!

Bueno si se supone que está todo OK. date el tiempo de hacer lo que te decía, conectarte a otra BD. una manera rápida sería como lo digo de montar una bd en tu red y ver. o si tienes acceso a un hosting u otro tercero para ver que el problema no sea tuyo.

Quiero aclarar lo del equipo en red. Como no se si tienes acceso a otro equipo remoto sugerí eso.
  #5 (permalink)  
Antiguo 14/09/2017, 11:30
Avatar de mortiprogramador
Colaborador
 
Fecha de Ingreso: septiembre-2009
Ubicación: mortuoria
Mensajes: 3.805
Antigüedad: 15 años, 2 meses
Puntos: 214
Respuesta: Conexion remota PHP + Firebird, imposible!

Saludo.

Pues yo sugiero ver el código que estas usando.

Por otra parte, si bien entendí en el post inicial
el host del cliente y el host de la bd son distintos.

Si eso es correcto, el host 'localhost'
en la conexión es claramente incorrecto,
no cabe en la cabeza tratar de conectarse localmente
con una base de datos remota que no existe ahí.

En vez de localhost, debería ir el host remoto.

Y claro, como en el hosting no han manejado esa bd
pues por eso es que se escudan en ello.

Sin embargo, la mayoría de hosting permiten
tener un php.ini personalizado, así que imagino
que ante esa posibilidad, y espero que se tenga,
pues a revisar ese php.ini si tiene habilitado
lo relacionado al driver necesario.
__________________
"Si consigues ser algo más que un hombre, si te entregas a un ideal, si nadie puede detenerte, te conviertes en algo muy diferente."
Visita piggypon.com
  #6 (permalink)  
Antiguo 14/09/2017, 12:02
Avatar de NnikoO  
Fecha de Ingreso: agosto-2008
Ubicación: Rosario
Mensajes: 245
Antigüedad: 16 años, 3 meses
Puntos: 0
Respuesta: Conexion remota PHP + Firebird, imposible!

Cita:
Iniciado por alvaro_trewhela Ver Mensaje
Bueno si se supone que está todo OK. date el tiempo de hacer lo que te decía, conectarte a otra BD. una manera rápida sería como lo digo de montar una bd en tu red y ver. o si tienes acceso a un hosting u otro tercero para ver que el problema no sea tuyo.

Quiero aclarar lo del equipo en red. Como no se si tienes acceso a otro equipo remoto sugerí eso.
Tengo varios hosts para verificar, pero ninguno con motor Firebird para las DB.

Cita:
Iniciado por mortiprogramador Ver Mensaje
Saludo.

Pues yo sugiero ver el código que estas usando.

Por otra parte, si bien entendí en el post inicial
el host del cliente y el host de la bd son distintos.

Si eso es correcto, el host 'localhost'
en la conexión es claramente incorrecto,
no cabe en la cabeza tratar de conectarse localmente
con una base de datos remota que no existe ahí.

En vez de localhost, debería ir el host remoto.

Y claro, como en el hosting no han manejado esa bd
pues por eso es que se escudan en ello.

Sin embargo, la mayoría de hosting permiten
tener un php.ini personalizado, así que imagino
que ante esa posibilidad, y espero que se tenga,
pues a revisar ese php.ini si tiene habilitado
lo relacionado al driver necesario.
Obviamente en ningún momento intento conectar de manera local, se testea con la URL y hasta por IP del server remoto, y el resultado en los primeros testeos, fue ese mensaje.

Y en cuanto a drivers, el host donde se encuentra el sitio, tiene instalado Interbase/Firebird, y el controlador Firebird para PDO, ya al server de la DB no tengo acceso, es de un tercero.
  #7 (permalink)  
Antiguo 14/09/2017, 12:45
Avatar de xfxstudios  
Fecha de Ingreso: junio-2015
Ubicación: Valencia - Venezuela
Mensajes: 2.448
Antigüedad: 9 años, 5 meses
Puntos: 263
Respuesta: Conexion remota PHP + Firebird, imposible!

Imagino que autorizaste la IP del servidor del cliente en el servidor de la BD?? ya que si la ip no esta registrada como autorizada para acceso remoto, pues va a repeler la conexión
__________________
[email protected]
HITCEL
  #8 (permalink)  
Antiguo 14/09/2017, 18:08
Avatar de mortiprogramador
Colaborador
 
Fecha de Ingreso: septiembre-2009
Ubicación: mortuoria
Mensajes: 3.805
Antigüedad: 15 años, 2 meses
Puntos: 214
Respuesta: Conexion remota PHP + Firebird, imposible!

Cita:
Mensajes de error obtenidos:
- Unable to complete network request to host "localhost".
- SQLSTATE[HY000] [335544472] Your user name and password are not defined. Ask your database administrator to set up a Firebird login.
Cita:
Obviamente en ningún momento intento conectar de manera local, se testea con la URL y hasta por IP del server remoto, y el resultado en los primeros testeos, fue ese mensaje.


Pues claramente se esta intentando conectar localmente...
Y de nuevo, no vemos código por ningún lado.

Igual, serviría tener los datos de la bd para intentar la conexión.


__________________
"Si consigues ser algo más que un hombre, si te entregas a un ideal, si nadie puede detenerte, te conviertes en algo muy diferente."
Visita piggypon.com
  #9 (permalink)  
Antiguo 15/09/2017, 05:20
Avatar de NnikoO  
Fecha de Ingreso: agosto-2008
Ubicación: Rosario
Mensajes: 245
Antigüedad: 16 años, 3 meses
Puntos: 0
Respuesta: Conexion remota PHP + Firebird, imposible!

Cita:
Iniciado por xfxstudios Ver Mensaje
Imagino que autorizaste la IP del servidor del cliente en el servidor de la BD?? ya que si la ip no esta registrada como autorizada para acceso remoto, pues va a repeler la conexión
Al comenzar con la tarea, lo primero que consultamos a la gente responsable del server, fue este punto, y argumentaron que no era necesaria habilitarla, cosa que me resultó raro.

Cita:
Iniciado por mortiprogramador Ver Mensaje


Pues claramente se esta intentando conectar localmente...
Y de nuevo, no vemos código por ningún lado.

Igual, serviría tener los datos de la bd para intentar la conexión.


Comprendo y conincido plenamente en lo que decís. Por algo digo que el asunto sobrepasó mi lógica. En ninguna de las sentencias probadas apunto al localhost, siempre lo hago a la dirección/IP del server, por algo mi sorpresa con el primer mensaje. Investigando, encontramos una variable RemoteBindAddress de la configuración del driver de Fierbird para PDO que al parecer por defecto redirige todo al localhost por tener con el puerto cerrado. Nos comunicamos con el soporte del host del sitio, y dijeron que esta configuración pasaba de su responsabilidades, y que corría todo por nuestra cuenta. No modificamos nada, y por arte de magia, dejo de aparecer este error.

Hemos realizado cientos de conexiones remotas, desarrollos de webservices y demás, y nunca hemos tenido problema alguno. Nunca habíamos trabajo con un motor Firebird, pero no debería porque ser una excepción. La realidad es que nos encontramos en medio de, un soporte nulo por parte del host del sitio, y la inoperancia e ignorancia de los responsables del server de la DB.

En un siguiente mensaje copio lineas que empleamos, y las credenciales no podemos facilitarlas, por políticas de la empresa de nuestro cliente no podemos otorgarlas a ningún tercero, si administraramos la DB generaríamos un usuario de prueba, pero no está a nuestro alcance.
  #10 (permalink)  
Antiguo 15/09/2017, 05:47
Avatar de NnikoO  
Fecha de Ingreso: agosto-2008
Ubicación: Rosario
Mensajes: 245
Antigüedad: 16 años, 3 meses
Puntos: 0
Respuesta: Conexion remota PHP + Firebird, imposible!

Test con ibase, se probó tanto empleando URL o IP, con/sin puerto que es el 3050 por default, path a la DB o únicamente el nombre.
Código PHP:
Ver original
  1. $db = ibase_connect(IP/PORT:/FOLDER/FIREBIRD/DB/CLIENT_DB.GDB, USER, PASS);

Y test con PDO, igual que lo anterior, se probó el HOST tanto empleando URL como IP, DB con el path completo o solo nombre, con/sin puerto y charset. También se probó el HOST empleando completo URL ó IP + path a la DB.
Código PHP:
Ver original
  1. $pdo = new PDO('firebird:host=HOST;dbname=DB;port=3050;charset=utf8', USER, PASS);
  #11 (permalink)  
Antiguo 15/09/2017, 12:13
Avatar de mortiprogramador
Colaborador
 
Fecha de Ingreso: septiembre-2009
Ubicación: mortuoria
Mensajes: 3.805
Antigüedad: 15 años, 2 meses
Puntos: 214
Respuesta: Conexion remota PHP + Firebird, imposible!

Una pena esas políticas, sin embargo podría ser
hacer pruebas y luego cambiar el password no?

Digo, ya con las pruebas solventadas cambian el password
y listo, pero si no, pues...

¿Cuál versión de firebird están usando?
En la versión 3 las bds son de extensión FDB

En cuanto al mensaje de localhost, es extraño, yo he realizado
conexiones tanto locales como remotas a firebird
sin modificar nada del
RemoteBindAddress y ha funcionado sin problema.

En cuanto a la conexión pdo, se debe modificar.

Código PHP:
Ver original
  1. $pdo = new PDO('firebird:dbname='.HOST.DB.';charset=utf8', USER, PASS);

Y finalmente, lo mejor es usar un alias de conexión a la bd,
pero eso si debe ser configurado por el administrador
del server donde esta alojada la bd, y ya con eso en la cadena de conexión
en el valor DB solo va el alias sin toda la ruta absoluta.

Ah, una última cosa, ¿han intentado conectarse
a la bd firebird desde los equipos de desarrollo
directamente por alguna herramienta como ISQL ?

¿Y con php desde los equipos de desarrollo?
__________________
"Si consigues ser algo más que un hombre, si te entregas a un ideal, si nadie puede detenerte, te conviertes en algo muy diferente."
Visita piggypon.com
  #12 (permalink)  
Antiguo 18/09/2017, 06:29
Avatar de NnikoO  
Fecha de Ingreso: agosto-2008
Ubicación: Rosario
Mensajes: 245
Antigüedad: 16 años, 3 meses
Puntos: 0
Respuesta: Conexion remota PHP + Firebird, imposible!

Cita:
Iniciado por mortiprogramador Ver Mensaje
Una pena esas políticas, sin embargo podría ser
hacer pruebas y luego cambiar el password no?

Digo, ya con las pruebas solventadas cambian el password
y listo, pero si no, pues...

¿Cuál versión de firebird están usando?
En la versión 3 las bds son de extensión FDB

En cuanto al mensaje de localhost, es extraño, yo he realizado
conexiones tanto locales como remotas a firebird
sin modificar nada del
RemoteBindAddress y ha funcionado sin problema.

En cuanto a la conexión pdo, se debe modificar.

Código PHP:
Ver original
  1. $pdo = new PDO('firebird:dbname='.HOST.DB.';charset=utf8', USER, PASS);

Y finalmente, lo mejor es usar un alias de conexión a la bd,
pero eso si debe ser configurado por el administrador
del server donde esta alojada la bd, y ya con eso en la cadena de conexión
en el valor DB solo va el alias sin toda la ruta absoluta.

Ah, una última cosa, ¿han intentado conectarse
a la bd firebird desde los equipos de desarrollo
directamente por alguna herramienta como ISQL ?

¿Y con php desde los equipos de desarrollo?
Si, la verdad estamos renegando sin necesidad. Meses estuvimos esperando para que nos generen un vista de la DB y habiliten user+pass.

La verdad, no se que versión de FB, pero al momento de pasarnos el path, la extensión es GDB. Y no generaron ningún alias, nos dieron la ruta absoluta.

Si con equipos de desarrollo te referís a la gente encargada del server de la DB, argumentan que funciona la conexión y las credenciales, testeando todo desde programas de gestión de DB, pero desde PHP no, no hicieron ningún testeo ya que no tienen conocimientos dicen... Solo tienen otro cliente, que trabaja con la DB local, y nuestro caso sería el primero en trabajar remoto. Estamos girando en la nada misma.
  #13 (permalink)  
Antiguo 18/09/2017, 07:21
Avatar de NnikoO  
Fecha de Ingreso: agosto-2008
Ubicación: Rosario
Mensajes: 245
Antigüedad: 16 años, 3 meses
Puntos: 0
Respuesta: Conexion remota PHP + Firebird, imposible!

Considerás recomendable emplear un alias en vez del path absoluto?

Y la verdad, considero que el error se debe a que las credenciales que pasaron no son válidas, en estos días acabo de realizar conexiones remotas de testeo con otros host que se encuentran en nuestro poder, y ninguno presentó inconvenientes (todas DB MySQL, no Firebird, pero, no debería porque ser excepción).
  #14 (permalink)  
Antiguo 18/09/2017, 07:35
Avatar de NnikoO  
Fecha de Ingreso: agosto-2008
Ubicación: Rosario
Mensajes: 245
Antigüedad: 16 años, 3 meses
Puntos: 0
Respuesta: Conexion remota PHP + Firebird, imposible!

Puedo llegar a facilitar los datos para la conexión.
  #15 (permalink)  
Antiguo 18/09/2017, 14:52
Avatar de mortiprogramador
Colaborador
 
Fecha de Ingreso: septiembre-2009
Ubicación: mortuoria
Mensajes: 3.805
Antigüedad: 15 años, 2 meses
Puntos: 214
Respuesta: Conexion remota PHP + Firebird, imposible!

Saludo

Pues yo también considero que son datos de conexión incorrectos.
Y sí, con alias es mucho mejor, se evita manejar toda la ruta absoluta,
pero ese paso si debe ser configurado en el host de la bd.

Prueba con estos datos, es una bd firebird versión 3.0

host = 185.114.37.42
user = utest
pass = t2017
db = test
__________________
"Si consigues ser algo más que un hombre, si te entregas a un ideal, si nadie puede detenerte, te conviertes en algo muy diferente."
Visita piggypon.com
  #16 (permalink)  
Antiguo 18/09/2017, 16:13
Avatar de NnikoO  
Fecha de Ingreso: agosto-2008
Ubicación: Rosario
Mensajes: 245
Antigüedad: 16 años, 3 meses
Puntos: 0
Respuesta: Conexion remota PHP + Firebird, imposible!

Testeando con la data que proporcionaste, sigue sucediendo lo mismo, idéntico mensaje.

Tendrá algo que ver la versión de Firebird/Interbase instalada en nuestro host?
Compile-time Client Library Version: Firebird API version 25
Run-time Client Library Version: LI-V6.3.7.27050 Firebird 2.5
  #17 (permalink)  
Antiguo 18/09/2017, 16:28
Avatar de mortiprogramador
Colaborador
 
Fecha de Ingreso: septiembre-2009
Ubicación: mortuoria
Mensajes: 3.805
Antigüedad: 15 años, 2 meses
Puntos: 214
Respuesta: Conexion remota PHP + Firebird, imposible!

Uhm, pues podría ser, en mi caso local tengo esto:


interbase

Firebird/InterBase Support dynamic
Compile-time Client Library Version Firebird API version 25
Run-time Client Library Version WI-V6.3.2.32703 Firebird 3.0

Y en el remoto

interbase

Firebird/InterBase Support dynamic
Compile-time Client Library Version Firebird API version 30
Run-time Client Library Version LI-V6 3.1.32609 Firebird 3.0

¿Cuál versión de php tienen en el host?
Para ver si busco esa y ver si se descarga con identica versión de interbase.

Y pues la otra pregunta es, ¿cuál es la versión de la bd en el host del tercero?
En mi caso es Firebird 3.0 y local igual, entonces imagino por eso no hay lio.

Intentaré sin embargo instalar la 2.5 en el host a ver como va,
cualquier cosa comentaré por aquí.
__________________
"Si consigues ser algo más que un hombre, si te entregas a un ideal, si nadie puede detenerte, te conviertes en algo muy diferente."
Visita piggypon.com
  #18 (permalink)  
Antiguo 18/09/2017, 16:32
Avatar de NnikoO  
Fecha de Ingreso: agosto-2008
Ubicación: Rosario
Mensajes: 245
Antigüedad: 16 años, 3 meses
Puntos: 0
Respuesta: Conexion remota PHP + Firebird, imposible!

El host tiene PHP 5.6.31

Y en caso del tercero... debería consultar.
  #19 (permalink)  
Antiguo 18/09/2017, 16:57
Avatar de NnikoO  
Fecha de Ingreso: agosto-2008
Ubicación: Rosario
Mensajes: 245
Antigüedad: 16 años, 3 meses
Puntos: 0
Respuesta: Conexion remota PHP + Firebird, imposible!

La DB remota, tiene Firebird 2.5 según me confirman.

Y a su vez, me dicen que recién probaron ellos con un cliente de windows y tampoco pudieron conectar... loco no?
  #20 (permalink)  
Antiguo 18/09/2017, 18:01
Avatar de mortiprogramador
Colaborador
 
Fecha de Ingreso: septiembre-2009
Ubicación: mortuoria
Mensajes: 3.805
Antigüedad: 15 años, 2 meses
Puntos: 214
Respuesta: Conexion remota PHP + Firebird, imposible!

Jajajajaja, no pudieron conectar ellos?
Ah, entonces el tema es configuración, nada que hacer.

Te dejo otro server, este tiene firebird 2.5
host = 5.152.176.166

Los demás datos de conexión, iguales a los que pase inicialmente.


__________________
"Si consigues ser algo más que un hombre, si te entregas a un ideal, si nadie puede detenerte, te conviertes en algo muy diferente."
Visita piggypon.com
  #21 (permalink)  
Antiguo 18/09/2017, 19:07
Avatar de NnikoO  
Fecha de Ingreso: agosto-2008
Ubicación: Rosario
Mensajes: 245
Antigüedad: 16 años, 3 meses
Puntos: 0
Respuesta: Conexion remota PHP + Firebird, imposible!

Impecable!
Acabo de testear empleando tanto PDO como ibase, y conecta de primera.
Increible salvavidas, no tenia modo de chequear si era algun tema de conexion de nuestro host, o efectivamente como creia un asunto por parte del server remoto.
Genial, inmensamente agradecido a tu predisposicion y buena onda!

Etiquetas: firebird, pdo, remota
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 02:06.