mysql:3031
From: m.sasaki <m.sasaki <ccr60140@xxxxxxxxxx>>
Date: Sun, 14 Jan 2001 23:10:53 +0900
Subject: [mysql 03031] 本日完了!!(その6) mysql-ruby-2.3.1 編
○mysql-ruby-2.3.1○ MySQL+Rubyの環境にはMySQL/Rubyが必要です。 インストール手順は結局のところP95のとおりです。 しかし私の場合はここで大はまりでした。 ●まずP96に書かれているtest.rbのエラー発生。 これは環境変数LD_LIBRARY_PATHを設定します。 <bashの場合> .bachrcに export LD_LIBRARY_PATH="$LD_LIBRARY_PATH":"/usr/local/lib/mysql" <tcshの場合> .cshrcに setenv LD_LIBRARY_PATH "$LD_LIBRARY_PATH":"/usr/local/lib/mysql" 以上でmake installまで進みました。 ●サンプルプログラムのbboard.cgiがrequire'mysql'で落ちる。 これは/etc/ld.so.confに /usr/local/lib/mysql を追加することで掲示板の画面を拝みました。 先ほどのインストール時のエラーもここの1カ所で解決だと思います。 この辺の設定の解説についてはシーラカンス本や PHP+Apache+PostgreSQLの雑誌記事の方が詳しくて親切だと思います。 ●サンプルプログラムのbboard.cgiをbboard.rbxに名前を変更 して実行(=mod_rubyで実行)するとrequire'mysql'で落ちる。 これが今回の最大の難関&大タコでした。 MLで調べてみて最初はmod_ruby&mysql-rubyの組み合わせの問題だと思い、 指示通り手パッチをあてようかとRuby側のソースを見ると、 1.6.1ではすでにパッチ済みで配布されているようなので止めました。 require'mysql'を使わない(つまりMySQLに接続しない)cgiを書いてみて 動作を比較してみると*.cgiだと動くが*.rbxでは require'cgi'やrequire'cgi-lib'で落ちてしまうことがわかりました。 httpd.confの設定ミスかと思い、SetenvやLoadFileなどいろいろ試しても 全然ダメで「ギブアップ」寸前でした。 ふと基本に戻ってバージョンを確認してみたのが幸いでした。 今回『MySQL徹底入門』と一緒に『Rubyプログラミング入門』も購入 していますので、mod_rubyはそちらのRuby本の付録CD-ROMから 何の疑いもなくインストールしました。 mod_ruby-0.1.4とeruby-0.0.4です。 配布サイトを調べると最新版はmod_ruby-0.2.2,eruby-0.1.3 になっているじゃありませんか。ルビー本体は1.6.1が収録されている ので明らかにmod_rubyとerubyは収録ミスだと思います。 その他のライブラリについては調べていません。 さて最新版をダウンロードしてインストールしました。 require'cgi'やrequire'cgi-lib'は通過しましたが 依然としてrequire'mysql'が使えません。 再度、mysql-rubyをインストールし直した時に発見しました。 make install時にmysql.soが古いバージョンのrubyのディレクトリに コピーされているのを。 /usr/local/lib/ruby/1.6/i686-linux/にmysql.soを上書きコピーして require'mysql'を試すと・・・・・・・動いちゃいました。 bboard.cgiを.rbxに変名してmod_rubyの動作も確認します。 ・・・・・・・・・全然問題ないです。とっても快適です。 つづく **************** ささき まさとし MyNA ROOKIE ****************
-> 3031 2001-01-14 23:10 [m.sasaki <ccr60140@x] 本日完了!!(その6) mysql-ruby-2.3.1 編 3042 2001-01-16 23:46 ┗[とみたまさひろ <tomm] 3074 2001-01-19 21:44 ┗[m.sasaki <ccr60140@x]