我在运行Ubuntu的测试服务器上使用“rvm install”安装了rvm(mutiuser选项)和ruby。 如果我登录并执行“ruby test.rb”,脚本将正确运行。 但是,如果我使用我的php代码中的“exec”执行它,我会收到错误。
如果我“su www-data”并尝试执行脚本然后我得到相同的错误,所以我想问题是如何让“www-data”拥有执行Ruby脚本的正确环境。我已经尝试将“www-data”添加到“rvm”组并且不起作用。如果我给Ruby bin的完整路径,那么脚本会执行,但是在需要gems时会失败。
我也试过执行一个.sh,其中第一行是“rvm use ruby-xxx”,第二行是“ruby test.rb”,但也不起作用。
我应该使用“apt-get install”安装Ruby吗?
非常感谢。
答案 0 :(得分:0)
嗯,我不知道多用户版本,但如果您运行的是单个用户版本,则可以像该用户一样运行脚本,如下所示:
/bin/su - postgres -c "/path/to/backup_db.sh /tmp/test"