我为CGI配置了lighttpd。除了要求使用Ruby的宝石外,事情基本上都在起作用。例如这个脚本
#!/usr/bin/env ruby
require 'cgi'
require 'rubygems'
require 'mysql2'
cgi = CGI.new
print "Content-Type: text/plain\n\n"
print "Hello, world!"
给了我cannot load such file -- mysql2 (LoadError)
。如果我删除require 'mysql2'
它可以正常工作。我以root身份安装了mysql2,其他用户可以毫无问题地使用它。
奇怪的是,Gem.available? 'mysql2'
在CGI脚本中是true
,因此似乎以某种方式检测到了 。
答案 0 :(得分:0)
我修好了,但我还不确定问题是什么。作为root,我做了
gem update --system
gem install --no-user-install mysql2
由于某种原因,权限最终错误,所以我不得不做
chmod -R o+rX /usr/local/share/gems1.9
然后一切都恢复了。此外,require 'rubygems'
最终在CGI脚本中不再是必需的。