似乎很多人对此有类似的问题,但没有一个人能够回答我正在做的事情。
我目前正在Windows 2008 R2服务器上运行apache和php。从那里我试图运行rsh命令。这是一个例子:
exec('rsh compname -l username "perl /mypath/server_info.pl"', $output, $status);
$output
始终为空,$status
始终为0.
在此2008服务器上进行此设置之前,我让它在具有相同配置的Windows XP盒上工作。它使用相同的用户名连接同一服务器并运行相同的pl脚本。我甚至可以在浏览器中并排打开它们,它可以在XP机器上运行,而不是在2008服务器上运行。
即使我通过rsh运行像ls
这样简单的命令,我也没有输出。此外,它似乎不是一个PHP问题,因为如果我只是运行
exec('ping servername',$output, $status);
我得到了预期的输出。
有没有人看到过这样的问题,或者知道为什么rsh特意不发送输出?