0

system()を使用して、rails-controller から Linux シェル コマンドを呼び出しています。Audible magic API
を使用して、オーディオ ファイルのフィンガープリントを生成しています。

サンプルコード:

system ("/usr/local/lib/media2xml -c AppOwner -a AppName -i temp_inputFile.mp3 -A  > temp_response.xml")

説明

*コマンドは、いくつかのパラメーターとinputFileを使用してLinux実行可能ファイルを実行し、temp_response.xmlで応答フィンガープリントを作成します*

端末でこのコマンドを入力すると、エラーは発生せず、すべて正常に動作します。しかし、Railsコントローラーから使用すると、system(#{command})は終了コード 127でfalseを返します

Web サーバーはシンです。
レール3.2

助けが必要です、よろしくお願いします。

4

1 に答える 1

0

今日この問題が発生しました。しかし、私のコマンドは「python xxxx」です。システム環境が原因です。おそらく、このコマンドの lib 依存関係が欠落しているか、デフォルト PATH に設定されていません。「media2xml」スクリプトを確認する必要があります。スクリプトが #/usr/bin/xxx の場合、/usr/bin/xxx が Rails アプリに対して正しいバージョンであることを確認してください。

于 2013-03-18T09:21:34.263 に答える