
Via het CMD venster kan ik hem wel volledig laten uitvoeren, zoals je in het bovenstaande plaatje ziet. Tussen de eerste string "www....cles" en de "message sent" zit ongeveer 1 seconde tijd, die PHP niet meepakt. Het result is ook een raar getal (geheugenadres?), terwijl deze normaal 0 of 1 is.
Mijn PHP code:
<?php
$result = 1;
if(isset($_GET)) {
//$address = $_GET["address"];
//unset($_GET["address"]);
$directory = 'C:\inetpub\wwwroot\msmqfak\MQSend.exe';
$command = escapeshellcmd($directory .' '. $_GET["to"] .' "'. $_GET["title"] .'" '. $_GET["body"]);
$answer = exec($command, $output, $result);
}
echo '<b>Command: </b>'.$directory .' '. $_GET["to"] .' "'. $_GET["title"] .'" '. $_GET["body"].'<br />'; // Negeer deze even ;)
echo '<b>Output: </b><br />';
print_r($output);
echo '<br />';
echo '<b>Result: </b>'.$result.'<br />';
echo '<b>Answer: </b>'.$answer;
?>
Hebben jullie een idee? Ik heb op verschillende websites meerdere mogelijkheden langs zien komen, maar daarmee heb ik het niet op kunnen lossen.
Nadere info:
Ik heb laatst als projectje een W2008 R2 server opgezet waar een website (met IIS) op draait. Op deze en een andere server in het active directory domain draait de Microsoft Message Queue. De .exe die ik aanroep genereert een SOAP bericht die hem naar het juiste adres doorstuurt.