簡體   English   中英

PHP ssh2_exec,一次執行多個命令

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM