0
我使用ssh2_exec在我的CentOS服务器上执行PHP的几个命令,并且我已经多次使用它,但今天,当我尝试使它在4或5条命令一旦与& &,它没有工作。这里是代码如下:PHP ssh2_exec,一次执行多个命令
if (!($stream = ssh2_exec($con, 'cp -rf /home/shared/Tekkit_Server_3.1.2.zip /home/servers2/'.$mUsername.' && unzip /home/servers2/'.$mUsername.'/Tekkit_Server_3.1.2.zip && rm -rf /home/servers2/'.$mUsername.'/mods/mod_NetherOres.jar && mv -f /home/servers2/'.$mUsername.'/Tekkit.jar /home/servers2/'.$mUsername.'/craftbukkit.jar'))) {
echo "fail: unable to execute command\n";
}
它复制的ZIP到正确的目录,但然后什么也没有从那里,任何想法?
谢谢!
编辑
我试图做只是:
if (!($stream = ssh2_exec($con, 'unzip /home/servers2/'.$mUsername.'/Tekkit_Server_3.1.2.zip'))){
echo "fail: unable to execute command\n";
}
和它返回:失败:无法执行命令
其他命令做工精细,当我在运行命令终端工作正常。
看看这有助于:HTTP:// WWW。 php.net/manual/en/function.ssh2-exec.php#59324 – rws907
似乎没有使用该方法。我甚至只是试着用睡眠把它们分离成单独的命令(5);在每个之间,它没有工作。 –
您可以让它将结果输出到目标机器上的日志,然后去查看它失败的位置? – rws907