0

、などexecのPHP関数からsshコマンドを実行できないようです。systempassthru

試してみました/bin/sshが、出力が表示されません

何か案は?" " を実行してから ssh が機能することを確認できsu - www-dataます。これは、Apache ユーザーが ssh にアクセスできることを意味します。

ありがとう

更新: 申し訳ありませんが、ssh は正常に実行されているようです。実行されていないのはリモート コマンドです。例:

$remote_command = "/usr/bin/ssh -i /home/www-data/id_rsa testuser@10.0.1.10 'echo hi > /home/testuser/test'";
passthru($remote_command);

リモート サーバーでトラフィックが発生していますが、新しいファイル「test」が作成されていません。

4

1 に答える 1

1

php exec 関数stdoutは、エラー出力ではなく、標準出力のみをキャプチャすることに注意してくださいstderr。コマンドを実行するときは、にリダイレクトする必要がありstderrます。stdoutpassthru("ssh ... 2>&1");

于 2010-10-01T23:03:24.063 に答える