PHPでコマンドを実行しようとしていshell_exec
ます。しかし、私はエラーが発生しています。
私のコード:
shell_exec('groovy log_analyser1.groovy').
しかし、私はこのエラーが発生しています:
sh: groovy: command not found
/usr/local
Groovy インストールを適切な場所 (または運用チームが許可するもの) に置き/opt
、絶対パスを使用して groovy を呼び出します。
root
現在、 usersにインストールしているため~
、他のユーザー (php/httpd を実行するユーザーなど) は (正当な理由で) アクセスできません。
php/httpd と同じユーザーを使用し、そこで GVM を使用したとしても、GVM はいくつかのスクリプトの実行に依存しているため、これを適切に機能させるのは困難です。~/.gvm/groovy/<version>
したがって、すべてのユーザーが簡単にアクセスできるGVM ファイル ( ) からコピーするだけです。
最後に出力を取得しました。Groovy ディレクトリを /root から /usr/share/ に移動しました。次に、phpファイルにgroovyパスを指定しました。今は正常に動作しています。Java 環境変数を設定します。
私はこれを設定しましたputenv("JAVA_HOME=/usr/share/java/jdk1.7.0_03/");
$result = shell_exec('/usr/share/groovy/2.4.3/bin/groovy log_analyser1.groovy');
助けてくれてありがとうCfrick。$結果をエコーします。