php - Laravel SSH 读写文件

标签 php xml linux laravel ssh

大家好。我正在尝试读取一个 XML 文件,更改值并将其保存回来,所有这些都是通过 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 key 建立连接并以 root 身份登录。
  • 系统为Ubuntu 16.04.02 x64
  • Laravel v5.4.22
  • Laravelcollective/remote v5.4.0 (ssh 包)

最佳答案

我已经设法使用 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"
    ));
});

关于php - Laravel SSH 读写文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43954850/

相关文章:

php - (Yii) SQLSTATE[42000] : Syntax error or access violation: 1064

android - 这个 Activity 已经有一个由窗口装饰提供的操作栏?

c - libxml2 - xmlTextReaderPreservePattern - centos5 - libxml2-2.9.1 - gcc

python - ImportError:Python 2.7.13 中没有名为 _tkinter 的模块

Linux 服务器,定位只包含 4 个特定行的文件

c - 读/写小数据性能有问题吗?

php 构造函数未定义属性

php - 根据 WooCommerce 中的一个默认属性值获取所有产品变体

PHP:php_sapi_name() 安全吗(用户可以操纵它)吗?

c# - 当部分验证规则在 WSDL 中时,如何使用 XSD 验证 XML