Eu acho que seu palpite está correto. O arquivo exe provavelmente grava na tela em vez de stdout
.
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?
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.