【问题标题】:How to execute Ruby Script from LAMP Web Application如何从 LAMP Web 应用程序执行 Ruby 脚本
【发布时间】:2012-01-14 12:54:09
【问题描述】:

我已经在运行 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 吗?

非常感谢。

【问题讨论】:

    标签: ruby lamp


    【解决方案1】:

    嗯,我不知道多用户版本,但如果您运行的是单用户版本,您可以以该用户身份运行脚本,如下所示:

    /bin/su - postgres -c "/path/to/backup_db.sh /tmp/test"
    

    this question and answers

    【讨论】:

    • 所以你是说我应该撤消我所做的,为普通用户安装 rvm 和 ruby​​,然后为该用户“su”?我要试试。我想知道如何使用 www-data 进行配置。
    • @martincho:我不是说你应该这样做,但你可以 :-)
    猜你喜欢
    • 2016-03-22
    • 2017-11-18
    • 1970-01-01
    • 2012-07-05
    • 2019-06-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-10-18
    相关资源
    最近更新 更多