发送bash文件并使用php phplibsec在远程服务器上执行

时间:2018-09-13 17:50:59

标签: php ssh phpseclib

由于某种原因,当我运行此命令时,它将文件发送到远程服务器(YAY),但是由于无法在连接完成之前超时,因此它无法在后台运行脚本(BOO)。不等,只是让它在免费环境中运行...有人成功使用phpseclib并将远程脚本发送到服务器并执行了吗?

谢谢!

$sftp = new Net_SFTP($vps_ip);
            $attempts = 0;
            while (true) {
             if (10 == $attempts) {
                echo "10 attempts, check user/password/ip";
                return false;
                }elseif(!$sftp->login($user, $vps_password)) {
                echo "unable to connect to ".$server."." . PHP_EOL;
                $attempts += 1;
                echo "Attempts: ".$attempts. PHP_EOL;
                continue;
               }else{
               break;
               } 

               }

            echo $sftp->pwd(). PHP_EOL;
            $sftp->setTimeout(30);
            $remote_file_location = $sftp->pwd().'/'.$new_script_file_name;
            $sftp->put($remote_file_location, $new_script_file_location, NET_SFTP_LOCAL_FILE);
            $command = "sudo bash ".$remote_file_location." ~/Tmp/".$file.".txt 2>&1 & sleep 5; head ~/Tmp/".$file.".txt";
            echo $sftp->exec($command);
            $sftp->disconnect();

0 个答案:

没有答案