5

PowerShell スクリプトを実行する単純な PHP を実行しようとしています。このコードを使用すると、コマンド ウィンドウに結果が表示されますが、ブラウザには空の配列が表示されます。

<?php 
exec("powershell C:\\Inetpub\\wwwroot\\my_shell.ps1 < NUL", $output);

echo "<pre>";
print_r($output);
echo "</pre>";
?>

NUL は出力を破棄すると思いますが、[この Fourm][1] で見つかったブラウザで機能します。

このコードを使用すると、NULなしでコマンド ウィンドウに結果が表示されますが、ブラウザでスクリプトを実行すると、永遠にロードされ続け、結果が得られません。

exec("powershell C:\\Inetpub\\wwwroot\\emsrDev\\manual_shell.ps1", $output);

このようにすると同じ結果になります:

$output = shell_exec("powershell C:\\Inetpub\\wwwroot\\emsrDev\\manual_shell.ps1");

PowerShell スクリプトを個別に実行すると、正常に実行されます。

$cmd = "cmd.exe";
&$cmd "/C echo update tasks set last='manual' where id='8'; | sqlplus vvv/www@xxx";

したがって、これをブラウザで実行して出力を取得する必要があります。

4

1 に答える 1

1

PowerShell プロセスが終了しないため、ブラウザーがハングします。スクリプトの最後に次を追加します

Stop-Process -processname powershell*
于 2014-02-05T01:06:53.717 に答える