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 ハーフ :<