отправить файл bash и выполнить на удаленном сервере с php phplibsec - PullRequest
0 голосов
/ 13 сентября 2018

По какой-то причине, когда я запускаю это, он отправляет файл на удаленный сервер (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();
...