1

を使用するSymfony\Component\Process\Process場合、コマンドは who? として実行されます。

でコマンドを試しましたwhoamiProcess、void が返されました???

$return = exec('whoami');
echo $return."\n"; // return [myname]
$process = new Process('whoami'); // The symfony process
echo $process->getOutput(); // return nothing @_@
4

3 に答える 3

2

はい、このコマンドを実行するユーザーまたは Web サーバーのユーザーとして実行されます。あなたのコードは少し不完全なようです。出力を取得する前に追加することをお勧めし$process->run();ます。

于 2014-01-27T15:34:00.130 に答える
0

そのプロセスが、Web サーバーを実行しているユーザーとして実行されることをほぼ保証します。たとえば、Apache を実行している場合は、次のコマンドを実行してみてください。

ps aux | egrep '(apache|httpd)'

端末で、Apache が実行されているユーザーを検出します。私のお金は、プロセスが実行されているユーザーとしてApacheまたはhttpdのいずれかにあります。それが役立つことを願っています。

于 2014-01-27T13:00:05.747 に答える