1

注意してください、ルビー n00b が水域をテストしています -

OS-OS X 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

どんな助けでも大歓迎

4

1 に答える 1

0

アップデートが必要かも gem install mysql2

于 2012-09-01T07:20:35.543 に答える