System(command)在生产服务器上返回false:Ruby on Rails

时间:2012-10-01 11:59:09

标签: linux shell ruby-on-rails-3.2

我正在使用system()从rails-controller调用Linux shell命令。
我正在使用Audible magic API生成音频文件的指纹。

示例代码:

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

解释

*命令运行带有一些params和inputFile的Linux可执行文件,并在temp_response.xml上创建响应指纹*

如果我在终端上键入此命令,则没有错误,并且每件事都可以正常工作。 但是当我从我的rails控制器使用它时,系统(#{command})返回false exit code 127

网络服务器精简
Rails 3.2

需要帮助, 最诚挚的问候。

1 个答案:

答案 0 :(得分:0)

我今天遇到了这个问题。但是我的命令是'python xxxx'。这是系统环境造成的。可能是这个命令的某些lib依赖缺失或者没有在默认的PATH中设置。你应该检查'media2xml'脚本。如果脚本是#/ usr / bin / xxx,那么请确保/ usr / bin / xxx与Rails App的版本正确。