【问题标题】:PHP variable in ssh2_exec commandssh2_exec 命令中的 PHP 变量
【发布时间】:2017-03-02 00:14:12
【问题描述】:

我在将具有 IP 地址的变量放入 ssh2 命令时遇到问题。

$somestring = 'ebtables -t filter -A FIREWALL -p IPv4 --ip-src '.$newifaceaddr.' --ip-proto tcp --ip-dport 22 -j ACCEPT';
$somevar = ssh2_exec($connection, $somestring); 

命令有效但不完全。 预期结果是“-p IPv4 --ip-src 192.168.1.247 --ip-proto tcp --ip-dport 22 -j ACCEPT”,但我得到的是“-p IPv4 --ip-src 192.168.1.247 -j CONTINUE "

有趣的是,如果我将命令写成没有变量的字符串,例如“ebtables -t filter -A FIREWALL -p IPv4 --ip-src 192.168.1.247 --ip-proto tcp --ip-dport 22 -j ACCEPT”,它会完美运行。当我打印一个带变量的和一个没有输出的时候是一样的,所以我不知道有什么问题。

我试过这个PHP SSH2 exec "$" 并没有帮助和许多其他事情。 plx 暂停:

【问题讨论】:

    标签: php ssh ssh2-exec


    【解决方案1】:

    问题是当我通过 ssh2_exec 从 SSH2 获取 IP 数据时,字符串的最后一个字符是一些空白字符,我必须使用 $newifaceaddr = preg_replace('/\s+/', '', $newifaceaddr); 删除它

    之后一切正常。

    【讨论】:

      猜你喜欢
      • 2019-02-15
      • 2011-08-09
      • 1970-01-01
      • 2015-10-22
      • 2013-04-02
      • 1970-01-01
      • 2016-07-16
      • 2013-07-02
      • 2016-09-01
      相关资源
      最近更新 更多