0

コマンドラインでこれを実行すると:

scp -i private.ppk -P 22 foo.txt someuser@domain.com:/home/someuser/foo.txt

すべて正常に動作します。foo.txt問題なくリモートサーバーに転送されます。PHP からまったく同じコマンドを実行する必要があります。だから、私は次のコードを持っています:

$command = 'scp -i private.ppk -P 22 foo.txt someuser@domain.com:/home/someuser/foo.txt';
exec($command);

これはうまくいきません。PHPファイルは、と同じディレクトリで実行されていprivate.ppkます。var_dumpの結果をexec取得すると、 が得られますNULL

これが許可の問題かどうか疑問に思っています。コマンド ラインで実行しているユーザーはわかっていますが、スクリプトを実行しているユーザーがわかりません。それが問題でしょうか?それとも全く違うものですか?

4

1 に答える 1