1

exec コマンドを使用するための非常に単純な PHP スクリプトがあります。コードは

 <?php
// outputs the username that owns the running php/httpd process
// (on a system with the "whoami" executable in the path)
echo("test<br>");
echo exec('whoami');
echo("test");
?>

ただし、ページにアクセスすると、次のように出力されます。

test
test

コマンドラインから実行すると表示される「whoami」コマンドからの出力は出力されません。

me

ここで何が問題なのですか?私はそれを解決することはできません。

どうもありがとう!

4

1 に答える 1

0

(パスに「whoami」実行可能ファイルがあるシステム上)

PATHは、すべての環境変数と同様に、システム全体ではなく、最終的にはプロセスごとです。

つまり、通常の bash セッションにはこの実行可能ファイルへのパスが含まれている可能性がPATHありますが、PHP スクリプトが実行されている環境 (Apache CGI コンテキストなど) には含まれていません。これは何らかの理由による可能性があります。

whoami代わりに、への絶対パスを指定してください。

于 2013-02-23T02:17:26.103 に答える