0

Ruby アプリケーションを実行するために FastCGI で Apache を使用しています。Apache fcgi モジュールと Ruby fcgi gem をインストールしました。

fcgiスクリプト「search.fcgi」を次のように実行すると

ruby search.fcgi

正常に実行されます。ただし、Apache を起動すると、同じスクリプトを実行しようとすると、ログ ファイルに次のエラーが表示されます。

/usr/local/rvm/rubies/ruby-2.1.8/lib/ruby/site_ruby/2.1.0/rubygems/core_ext/kernel_require.rb:54:in `require': cannot load such file -- fcgi (LoadError)
from /usr/local/rvm/rubies/ruby-2.1.8/lib/ruby/site_ruby/2.1.0/rubygems/core_ext/kernel_require.rb:54:in `require'
from /home/user/fcgi/search.fcgi:13:in `<main>'

search.fcgi の 13 行目は単純です。 require 'fcgi'

Apache を介して実行すると、インストールされた gem を検出できないように見えます。require 'fcgi'true を返すirb と run をロードしました。

ここで何か不足していますか?設定する必要があるパスまたは構成項目はありますか?

4

1 に答える 1

0

私の問題は、RVM を使用して Ruby をインストールしたことが原因でした。RVM インスティレーションの一部にアクセスする apache のスクリプトに問題がありました。解決策は、RVM ruby​​ install を削除し、ソースから ruby​​ を再インストールすることでした。

于 2016-09-01T10:22:50.490 に答える