アプリ版:「スタンプのみでお礼する」機能のリリースについて

PHPからシェルコマンドを実行したいのですが
SSHやSCPコマンドが使えません。
phpからlsなどは問題なく実行できます。

具体的には以下のように書いています。
`scp test.log user@host:/home/hoge`;
shell_exec()を使っても実行されませんでした。

環境は以下のとおりです。
PHP 5.4.17
CentOS 5.8

sshやscpコマンドをphpから実行するには何か特別な方法が必要なのでしょうか。
ご存知の方、教えてください。

A 回答 (4件)

scp環境設定の記述が全くないのが気になります。

認証キーファイルとか。
PHPの実行ユーザーから、scpがプロンプトを出さずに実行できるように設定されてないのでは?

この回答への補足

ご回答ありがとうございます。
鍵交換は行っており操作なしで動作するようにはしているのですが動きません。

補足日時:2013/08/09 08:59
    • good
    • 0

hhtpサーバーのユーザーと、鍵交換したユーザーとが違うとか。



httpサーバーはnobodyとかのユーザー権限で動作していることが多いです。
    • good
    • 0

パスや実行権限の問題はありませんか?


フルパス指定するとかsudoをかませてみるとか
    • good
    • 0

対話型のコマンドに関しては、exec関数などを使っても上手くいかないと思います。



http://php.net/manual/ja/function.popen.php
こちらのpopen関数を使って、プロセスを開いて、入力を行うか、

http://phpspot.net/php/man/php/function.expect-e …
こちらのexpect_expectl関数のサンプルのように記述してやることでできそうです。

この回答への補足

ご回答ありがとうございます。
鍵交換は行っており(パスフレーズなし)、単体で直接実行($ php test.php のように)すると上手くいくのですが
ブラウザ越しだと動きません。

補足日時:2013/08/09 08:56
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!