MySQL gem只能从ruby命令行访问,而不能从apache localhost访问

时间:2012-09-01 06:58:47

标签: mysql ruby apache

抬头,红宝石n00b测试水域 -

OS - OSX 10.7

/ Library / WebServer / CGI-Executables中的test.rb:

#!/usr/bin/ruby
require 'mysql'

con = Mysql.new('localhost', 'root', 'root', 'rubytest')
rs = con.query('select * from people')
rs.each_hash { |h| puts h['name']}  
con.close

从命令行ruby test.rb运行时,我可以很好地获取字段。从localhost(http://localhost/cgi-bin/test.rb)访问test.rb时,我在错误日志中得到一个500和一个关于mysql丢失的唠叨 -

Apache错误日志:

[Fri Aug 31 23:47:22 2012] [error] [client 127.0.0.1] /Library/WebServer/CGI-Executables/test.rb:3:in `require': no such file to load -- mysql (LoadError)
[Fri Aug 31 23:47:22 2012] [error] [client 127.0.0.1] \tfrom /Library/WebServer/CGI-Executables/test.rb:3
[Fri Aug 31 23:47:22 2012] [error] [client 127.0.0.1] Premature end of script headers: test.rb

〜/ .bashrc中的导出路径:

export DYLD_LIBRARY_PATH="/usr/local/mysql/lib"
export PATH="$PATH:/usr/local/mysql/bin"
export PS1="$ "

如果这是任何帮助,请运行gem env | grep 'RUBY EXECUTABLE'

RUBY EXECUTABLE: /Users/robertcox/.rvm/rubies/ruby-1.9.2-p318/bin/ruby

任何帮助表示赞赏

1 个答案:

答案 0 :(得分:0)

也许您需要更新gem install mysql2