2017-05-13 74 views
0

問候大家。我試圖讀取XML文件,更改值並保存它回來了,所有這些都通過Laravel SSH Laravel SSH讀寫文件

$commands[] = 'cat settings.xml'; 
SSH::run($commands, function($line) 
{ 
    $xml = new SimpleXMLElement($line); 
    $xml->age = 30; 
    $xml = $xml->asXML(); 
    echo $xml; //it shows that age is changed to 30 
    SSH::run(array(
     "echo ~/demo/ $xml > settings.xml" 
    )); 
}); 
<note> 
<to>Tove</to> 
<from>Jani</from> 
<age>50</age> 
</note> 

完成的問題的代碼是保存的文件是空的(裏面沒有)。

  • 該連接被做成拋出ssh密鑰並以root身份登錄。
  • 該系統是Ubuntu的02年4月16日64
  • Laravel v5.4.22
  • Laravelcollective /遠程V5.4.0(SSH封裝)
+0

我不明白爲什麼這被拒絕。 –

+0

我也不明白。爲什麼有人會無緣無故地退縮,也不會解釋他的行動。它不是像「嘿,我需要這個代碼」。無論如何,感謝您糾正評分。 –

回答

0

我已經成功使用的printf 來實現它。這裏是完整的工作代碼

$commands[] = 'cat settings.xml'; 
SSH::run($commands, function($line) 
{ 
    $xml = new SimpleXMLElement($line); 
    $xml->age = 30; 
    $xml = $xml->asXML(); 
    SSH::run(array(
     "printf '%s' '$xml'' > demo/settings.xml" 
    )); 
});