私は、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をインストールする必要がありますか?
ありがとうございます。
だから、私がやったことを元に戻すべきだと言っているのですが、普通のユーザーのためにrvmとrubyをインストールしてから、そのユーザーに "su"をインストールしますか?私はそれを試してみるつもりです。とにかくそれをwwwデータで設定する方法を知りたいです。 – martincho
@martincho:私はあなたがすべきだと言っているわけではありませんが、あなたは*:*)できます。 –