Como posso executar um arquivo cmd cmd.exe como um apache para windows cgi

1

Parece bastante simples, mas estou tendo um bom tempo para fazê-lo funcionar. O Apache espera que a primeira linha do meu script diga #!<path_to_cmd_shell> E eu não quero usar perl ou qualquer outra coisa, eu quero usar c:\windows\system32\cmd.exe Mas não vá.

Quando executo o resto do arquivo cmd a partir do prompt do cmd, ele funciona como esperado.

Eu até tenho um teste cgi que faz isso:

@echo off
echo Content-Type: text/html
echo.
echo ^<html^>^<head^>^</head^>^<body^>hi from stu the cgi ^</body^>^</html^>

e isso funciona.

Mas quando eu mudo o script para executar outro exe (cuja saída seria a resposta cgi) eu recebo todos os tipos de fim prematuro de cabeçalhos de script.

Eu estou supondo que isso tenha algo a ver com a saída do exe que não está retornando através da saída do shell.

Alguma ideia de como fazer isso acontecer?

    
por Stu 03.09.2009 / 21:58

2 respostas

1

Eu acho que seu palpite está correto. O arquivo exe provavelmente grava na tela em vez de stdout .

    
por 04.09.2009 / 00:33
0

Perdoe-me por dizer isto se estiver errado, mas o Apache sabe como executar um arquivo CMD? Em essência, eu esperaria que você tivesse que dar o script para o apache de uma maneira que ele pudesse entender. Talvez você tenha mais sorte tentando fazer com que um script perl execute o CMD e transmita a saída dessa maneira, em vez de tentar executar diretamente o script CMD.

    
por 03.09.2009 / 23:32