Foros del Web » Programando para Internet » PHP »

LLamada a un cgi desde php

Estas en el tema de LLamada a un cgi desde php en el foro de PHP en Foros del Web. Estoy intentando hacer una llamada a un cgi desde un scrip php y no consigo que me funcione. Utilizo IIS sobre un servidor w2003 y ...
  #1 (permalink)  
Antiguo 24/10/2005, 10:36
 
Fecha de Ingreso: mayo-2005
Mensajes: 26
Antigüedad: 12 años, 6 meses
Puntos: 0
LLamada a un cgi desde php

Estoy intentando hacer una llamada a un cgi desde un scrip php y no consigo que me funcione.
Utilizo IIS sobre un servidor w2003 y php5.
La llamada la hago así:
Código:
$enlace=include(http://localhost/p3.exe/sesasunto?part='.$part.'&sesion='.$p5.'&paxina='.$p7);
echo $enlace;
Me da el siguiente error:
Código:
failed to open stream: HTTP request failed! HTTP/1.1 404 Objeto no encontrado in d:\aWeb\www\novas.php on line 79
Alguien puede ayudarme.
PD. El Cgi está hecho en Delphi.
  #2 (permalink)  
Antiguo 24/10/2005, 10:40
Avatar de lado2mx
Colaborador
 
Fecha de Ingreso: agosto-2001
Ubicación: Veracruz
Mensajes: 3.720
Antigüedad: 16 años, 4 meses
Puntos: 9
A ver, está la síntaxis mal, checa:
Código PHP:
$enlazando='p3.exe/sesasunto?part='.$part.'&sesion='.$p5.'&paxina='.$p7;
$enlace=include($enlazando);
echo 
$enlace
Creo que así no funcionará, si es así checa con los módulos CGI: http://www.php.net/cgi
  #3 (permalink)  
Antiguo 24/10/2005, 11:01
 
Fecha de Ingreso: mayo-2005
Mensajes: 26
Antigüedad: 12 años, 6 meses
Puntos: 0
me da el mismo error. Creo que el problema tiene algo que ver con el directorio de ejecución de cgi's por defecto. ¿Puede ser?.
Código:
Creo que así no funcionará, si es así checa con los módulos CGI: http://www.php.net/cgi
No entiendo a que te refieres con esto.
  #4 (permalink)  
Antiguo 24/10/2005, 11:25
Avatar de lado2mx
Colaborador
 
Fecha de Ingreso: agosto-2001
Ubicación: Veracruz
Mensajes: 3.720
Antigüedad: 16 años, 4 meses
Puntos: 9
Perdón, pensé que en php.net tenia notas referentes a PHP con CGI, solo está el módulo de instalación.

Tiene que ver con el directorio de ejecución, no tienes que hacer un include en forma como la tienes con el HTTP. Ya que PHP puede hacerlo de forma inicial.
  #5 (permalink)  
Antiguo 24/10/2005, 11:39
 
Fecha de Ingreso: mayo-2005
Mensajes: 26
Antigüedad: 12 años, 6 meses
Puntos: 0
Perdona mi ignorancia pero sigo sin enterderte.
Quieres decir que puedo hacer la llamada de otra forma?.
Por otro lado, donde se define el directorio por defecto de los cgi's?.
  #6 (permalink)  
Antiguo 24/10/2005, 12:18
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 15 años, 11 meses
Puntos: 126
Pero .. ese CGI en Delphi genera su salida como HTTP? .. es decir, genera una página HTML? o similar? ..

Por qué no generas un ejecutable simple y lo llamas con:
exec() .. o system() o equivalentes?

Un saludo,
  #7 (permalink)  
Antiguo 25/10/2005, 01:13
 
Fecha de Ingreso: mayo-2005
Mensajes: 26
Antigüedad: 12 años, 6 meses
Puntos: 0
Si la salida del CGI es htlm. He probado con system y no consigo que funcione, quizás por la forma en que se le pasan los parametros al cgi, pero según creo tengo que pasarselos así.
Lo que no entiendo es porque me da el error que indiqué al principio si en vez de hacer la llamada como:
Código:
$enlace=include(http://localhost/p3.exe/sesasunto?part='.$part.'&sesion='.$p5.'&paxina='.$p7);
la hago sin el http:
Código:
$enlace=include(p3.exe/sesasunto?part='.$part.'&sesion='.$p5.'&paxina='.$p7);
no funciona.
Habrá que configurar en Php o en el IIS el camino por defecto de los Cgi's?
  #8 (permalink)  
Antiguo 25/10/2005, 09:42
Avatar de lado2mx
Colaborador
 
Fecha de Ingreso: agosto-2001
Ubicación: Veracruz
Mensajes: 3.720
Antigüedad: 16 años, 4 meses
Puntos: 9
Si haz revisado la síntaxis por include, los títulos entre paréntesis es entre comillas:
Código PHP:
<? $enlazar="p3.exe/sesasunto?part=".$part."&sesion=".$p5."&paxina=".$p7;
include(
$enlace);
 
?>
Include llama la atención sin echos. Si p3.exe genera variables PHP, puedes ver las variables despues, no durante.

Ahora, $part, $p5 y $p7 son variables normales de PHP, y se incluyen entre comillas. Ya que son variables en PHP así se ponen correctamente
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 13:54.