似乎很多人对此有类似的问题,但没有一个符合我正在做的事情的答案。
我目前在 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 服务器上运行。
即使我ls
通过 rsh 运行一个简单的命令,我也没有得到任何输出。而且它似乎不是一个 php 问题,因为如果我只是运行
exec('ping servername',$output, $status);
我得到了预期的输出。
有没有人看到过这样的问题,或者知道为什么 rsh 具体没有发送它的输出?