シェルコマンドを実行してその出力を返すphpスクリプトを作成したいと思います。サーバーには秘密鍵が必要です。これを最初にテストすることにしたとき、私はこれを作成しました:
<?php
$command = "ls";
$output = shell_exec($command);
echo "<pre>$output</pre>";
?>
それはうまくいきました。しかし$command
、コマンドに変更したとき、私は本当に実行したかったのです。
$command = "/etc/init.d/mycontrollerd status /etc/mycontrollerconfig";
それは私にこの出力を与えました:
You need root privileges to run this script
私の推測では、を使用する必要がありますsudo
。もちろん、これにはpemファイルをサーバーのどこかに配置する必要があります。私がそうすると仮定すると、正確にはどうあるべき$command
ですか?shell_exec()
、、または他のものを使用する必要がexec()
ありsystem()
ますか?