Foros del Web » Programando para Internet » PHP »

Llamada de un php desde otro servidor

Estas en el tema de Llamada de un php desde otro servidor en el foro de PHP en Foros del Web. Que tal. Tengo un archivo php en servidor X que hace un query a una base de datos de dicho servidor, y guardo un par ...
  #1 (permalink)  
Antiguo 21/02/2006, 18:55
 
Fecha de Ingreso: octubre-2004
Ubicación: Guatemala
Mensajes: 83
Antigüedad: 19 años, 5 meses
Puntos: 0
Llamada de un php desde otro servidor

Que tal.

Tengo un archivo php en servidor X que hace un query a una base de datos de dicho servidor, y guardo un par de resultados en variables.

Tengo otro archivo php en el servidor Y, que necesita los resultados obtenidos en el servidor X.

He intentado de 2 formas, la primera: en el archivo del servidor X mande a imprimir un valor, pero me devuelve un parse error, en la linea 1, donde no hay codigo. La segunda es que almaceno los valores que quiero en variables del tipo $global, pero al tratar de acceder estas variables desde el archivo en el servidor Y, me dice q no existen.

Alguien me podria ayudar? De antemano, gracias.
__________________
Definitivamente la vida no es como en las películas...
C'est la vie
  #2 (permalink)  
Antiguo 21/02/2006, 22:21
AlvaroG
Invitado
 
Mensajes: n/a
Puntos:
lo mejor que podés hacer, en mi opinión, es poner todas las variables que querés pasar al otro servidor en una matriz y usar serialize().

www.php.net/serialize


Saludos.
  #3 (permalink)  
Antiguo 22/02/2006, 05:29
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 22 años, 3 meses
Puntos: 129
Cita:
He intentado de 2 formas, la primera: en el archivo del servidor X mande a imprimir un valor, pero me devuelve un parse error, en la linea 1, donde no hay codigo. La segunda es que almaceno los valores que quiero en variables del tipo $global, pero al tratar de acceder estas variables desde el archivo en el servidor Y, me dice q no existen.
Todo eso es normal .. no puedes incluir (include()) un script PHP en otro servidor por una llamada por HTTP .. lo único que obtendras es el "HTML" (salida en general) que resulte .. pero no "variables" ni funciones definidas en ese script.

Si dices que sólo te interesa los resultados . .podrías simplemente entregar el resultado generado en servidor Y como un "XML" (esto ya tiene nombre y está inventado .. le llaman: "web service".. más que nada por si el juego de resultados es complejo. Y más simple .. simplemente generas tu resultado y lo "parseas" (lees) de la página resultante (a ser posible sin más "HTML" que adorne el resultado) con funciones como file() u fopen() y afines, para así operar con esos resultados en tu servidor X.

También tendrás que definir que nivel de seguridad requieres .. Lo normal es que no quieras que nadie acceda por el "URL" en su navegador a ver los datos de servidor Y conociendo la dirección ..y que sólo lo haga el servidor X y tal vez con autentificación por el camino. Eso lo hacen los "web service" en general. Puedes buscar en google o sitios como www.phpclasses.org como crear un "servidor" de "web service" en PHP (para tu servidor "Y" como fuente de datos) y un "cliente" para web servicie en PHP para tu servidor X (o en general para cualquier aplicación que necesite acceder a esos datos desde cualquier otro lenguaje o sistema .. los "web service" tienen standars sobre la forma de comunicarse con ellos y como entregan la información para que el otro lado la procese).

PD: Ojo que el "query string" pasado por el URL no es ilimitado .. (lo digo por si tienes muchas variabels que propagar en el URL serializadas o no ..).

Un saludo,
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 21:47.