Hola.
Que tengo que hacer para correr una aplicacion ms-dos desde un Perl Script CGI bajo windows server 2003 con IIS 6.0. El Script corre pero no ejecuta la aplicacion.
En cambio el script corre perfectamente bajo windows 2000.
| |||
Correr una aplicacion ms-DOS desde un CGI Hola. Que tengo que hacer para correr una aplicacion ms-dos desde un Perl Script CGI bajo windows server 2003 con IIS 6.0. El Script corre pero no ejecuta la aplicacion. En cambio el script corre perfectamente bajo windows 2000. |
| |||
Re: Correr una aplicacion ms-DOS desde un CGI A la hora de ejecutar el programa, ¿das todo el camino hacia ese programa? recuerda que el CGI puede estar ejecutándose en el directorio por defecto del servidor web. ¿Qué error da? ¿Qué dicen los registros de actividad (log)? |
| |||
Re: Correr una aplicacion ms-DOS desde un CGI No da un error especifico. El script sigue adelante sin ejecutar el programa, muestra en pantalla el contenido de la pagina html desde donde se llama (lo cual genera un pantallazo absurdo) y termina. Revisare el Log. Gracias |
| |||
Re: Correr una aplicacion ms-DOS desde un CGI Jferrero. Cordial saludo. En cuanto a los caminos para la ejecución de CGI y programa las tengo descritas así: El CGI corre desde el directorio: /Inetpub/wwwroot/cgi-bin y para ubicar el programa le estoy dando dentro del script el camino así: chdir "/websis/webbibg"; no se si en IIS 6.0 exige backslage \ en lugar de slage /. |
| |||
Re: Correr una aplicacion ms-DOS desde un CGI Yo solo veo un problema hasta ahora: que al hacer el chdir el servidor web no te deje hacerlo, por temas de seguridad. ¿Has comprobado el valor de retorno de la función chdir()? ¿De qué forma ejecutas el programa externo? ¿con system, con qx(), con exec()? |
| |||
Re: Correr una aplicacion ms-DOS desde un CGI Coloca esto después del system(), para saber qué pasa:
Código:
(sacado de la página de manual de system().if ($? == -1) { print "failed to execute: $!\n"; } elsif ($? & 127) { printf "child died with signal %d, %s coredump\n", ($? & 127), ($? & 128) ? 'with' : 'without'; } else { printf "child exited with value %d\n", $? >> 8; } Si el resultado lo sacas en html, quizás tengas que cambiar los print (poner marcas html) o mirar el código fuente de la página html que te devuelva el CGI, para saber qué ha pasado. |