2012-01-14 15 views
0

私は、Ubuntuを実行しているテストサーバー上で "rvm install"を使ってrvm(mutiuserオプション)とrubyをインストールしました。 ログインして「ruby test.rb」を実行すると、スクリプトが正しく実行されます。 しかし、PHPコードから "exec"を使って実行すると、エラーが発生します。LAMP WebアプリケーションからRubyスクリプトを実行するには

"su www-data"を実行してスクリプトを実行しようとすると、同じエラーが発生するため、Rubyスクリプトを実行するための正しい環境を "www-data"に与える方法があります。私はすでに "rvm"グループに "www-data"を追加しようとしましたが、うまくいきません。 Rubyのbinに完全なパスを渡すと、スクリプトは実行されますが、宝石が必要な場合は失敗します。

私はまた、最初の行が "rvm use ruby​​-xxx"で2行目が "ruby test.rb"で、どちらも動作しない.shを実行しようとしました。

「apt-get install」を使用してRubyをインストールする必要がありますか?

ありがとうございます。

答えて

0

フム、私はマルチユーザバージョンについては知らないが、あなたは、単一のユーザーバージョンを実行していた場合、あなたはこのように、そのユーザーとしてスクリプトを実行できます。

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

this question and answersを参照してください。

+0

だから、私がやったことを元に戻すべきだと言っているのですが、普通のユーザーのためにrvmとrubyをインストールしてから、そのユーザーに "su"をインストールしますか?私はそれを試してみるつもりです。とにかくそれをwwwデータで設定する方法を知りたいです。 – martincho

+0

@martincho:私はあなたがすべきだと言っているわけではありませんが、あなたは*:*)できます。 –

関連する問題