我正在使用 ssh2_exec 在我的 CentOS 服务器上从 PHP 执行一些命令,并且我已经使用了很多次,但是今天,当我尝试使用 && 使它一次执行 4 或 5 个命令时,它不起作用。下面是代码:
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";
}
它返回:失败:无法执行命令
其他命令工作正常,当我在终端中运行命令时它工作正常。