Foros del Web » Programación para mayores de 30 ;) » Programación General »

¿Por qué no funciona mi CGI?

Estas en el tema de ¿Por qué no funciona mi CGI? en el foro de Programación General en Foros del Web. En Windows 2000 tengo instalado Perl 5.8.0 y Apache 2. Recien estoy empesando a escribir scripts CGI. Cuando los ejecuto con la interfaz de linea ...
  #1 (permalink)  
Antiguo 06/11/2003, 21:18
 
Fecha de Ingreso: mayo-2003
Ubicación: Lima
Mensajes: 21
Antigüedad: 21 años
Puntos: 0
¿Por qué no funciona mi CGI?

En Windows 2000 tengo instalado Perl 5.8.0 y Apache 2.

Recien estoy empesando a escribir scripts CGI.

Cuando los ejecuto con la interfaz de linea de comando me funcionan bien, pero cuando los ejecuto con una dirección URL, ya no me funcionan. Pero si les agrego las siguientes lineas en el código, si funcionan con dirección URL:

use CGI qw(:standard);
print header();


Por ejemplo, tengo el siguiente script de nombre "miscript.pl":

#!E:\Perl\bin\perl5.8.0.exe

$var = 234;
print ("$var");

Lo guardo en el directorio cgi-bin

Al intentar ejecutarlo ingresando la dirección http://localhost:8080/cgi-bin/miscript.pl, surge el siguiente mensaje de error:
"[error] [cliente 127.0.0.1] F:/Archivo de programa/Apache Group/Apache2/cgi-bin/miscript.pl is not executable; ensure interpreted script have "#!@ first line.
[error] [client 127.0.0.1](9)Bad file descriptor: don't know how to spawn child process: F:/Archivos de programa/Apache Group/Apache2/cgi-bin/miscript.pl"

Pero si le agrego las dos lineas mencionadas anteriormente sin cambiar el resto del código sí muestra el resultado deseado ( 234).
El codigo que si funciona es el siguiente:

#!E:\Perl\bin\perl5.8.0.exe

use CGI qw(:standard);
print header();

$var = 234;
print ("$var");

Nota.- He observado que ambas versiones de código si funcionan cuando los ejecuto a través de la línea de comando:

F:\> perl F:\Archivos de programa\Apache Group\Apache2\cgi-bin\miscript.pl

Mis pregunta son:
a) ¿Por qué tengo que agregar "use CGI qw(:standard); print header();" para que funcione con dirección URL?
b) ¿Existe alguna forma para que funcionen sin necesidad de agregar las lineas indicadas?

Todo comentario es bien recibido.
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:37.