我正在尝试运行一个运行 powershell 脚本的简单 PHP,如果我使用此代码,我会在命令窗口中获得结果,但我会在浏览器中获得一个空数组:
<?php
exec("powershell C:\\Inetpub\\wwwroot\\my_shell.ps1 < NUL", $output);
echo "<pre>";
print_r($output);
echo "</pre>";
?>
我相信 NUL 会丢弃输出,但是它可以在 [this 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";
所以我需要在浏览器中执行它并获取输出。