[英]PHP ssh2_exec, executing multiple commands at once
我正在使用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";
}
它返回:失敗:無法執行命令
其他命令運行正常,當我在終端中運行該命令時運行正常。
我測試了您的示例,如果您提供了-d
選項來unzip
命令並指定了要解壓縮文件的目錄,則該示例似乎可以正常工作:
if (!($stream = ssh2_exec($con, 'unzip /home/servers2/'.$mUsername.'/Tekkit_Server_3.1.2.zip -d /home/servers2/'.$mUsername))){
echo "fail: unable to execute command\n";
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.