0

2 台のマシン間で ssh とパイプを使用して通信し、互いにメッセージをやり取りしようとしています。2 番目は、sdtin を使用して最初のマシンからメッセージを読み取り、テキスト ファイルに書き込みます。

私はこのプログラムを持っているマシンを持っていますが、動作しません...

$message = "Hello Boy";
$action = ('ssh root@machineTwo script.php'); 
$handle = popen($action, 'w');

if($handle){
   echo $message;
   pclose($handle);
}

他のマシンでは、machineTwo 私は持っています:

 $filename = "test.txt";    
     if(!$fd = fopen($filename, "w");
     echo "error";
        }
     else {
            $action = fgets(STDIN);
            fwrite($fd, $action);
    /*On ferme le fichier*/
    fclose($fd);}
4

3 に答える 3

0

このソリューションは機能しています:

マシンワン

MACHINE TWOに sshで接続した後、 MACHINE TWOにメッセージを送信します。私は使用し、popenfwrite

//MACHINE ONE
$message = "Hello Boy";
$action = ('ssh root@machineTwo script.php');  //conection by ssh-rsa
$handle = popen($action, 'w'); //pipe open between machineOne & two

if($handle){
   fwrite($handle, $message); //write in machineTwo
   pclose($handle);
}

マシン 2

fgets(STDIN);でファイルを開き、MACHINE ONEfopenのメッセージを取得します。. 開いたファイルにメッセージを書き込みます。

//MACHINETWO
$filename = "test.txt";    
if(!$fd = fopen($filename, "w");
    echo "error";
}

else
{   
    $message = fgets(STDIN);
    fwrite($fd, $message); //text.txt have now Hello World !
    /*we close the file*/
    fclose($fd);    
}
于 2013-04-17T07:50:43.053 に答える