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";
したがって、これをブラウザで実行して出力を取得する必要があります。