image.rb でファイルがアップロード出来ない問題[プログラミング]
(2004-11-07 13:52:19) by shinoda


Web 上を漁っても、そういう問題について語ったドキュメントが全然見つからないので弱っていたが、やっと見つけた。

http://www.tdiary.org/archive/devel/msg01178.html

FreeBSD 4.9-R の人だけど俺と症状一緒。

どうも、Ruby のバージョンが新しいと、cgi.rb という lib がバグっているらしい。

serv2# find / -name "cgi.rb" -print

/usr/local/lib/ruby/1.8/cgi.rb

これ。

この掲示板にかかれている内容で対処してみる。

serv2# find / -name "cgi.rb" -print
/usr/local/lib/ruby/1.8/cgi.rb
serv2# cp -p /usr/local/lib/ruby/1.8/cgi.rb /usr/local/lib/ruby/1.8/cgi.rb_org
serv2# vi /usr/local/lib/ruby/1.8/cgi.rb

で、見てみると、

まさに問題のある、

        eval <<-END
          def body.local_path
            #{body.path.dump}
          end
        END

という内容。

掲示板にあるとおり、

        eval <<-END
          def body.local_path
            #{(body.class == StringIO)? "" : body.path.dump}
          end
        END

と直す。

・・・が駄目。やっぱアップロードされない。

@secure = false でやってっから、ほとんど制限事項もないはずじゃし。

結局、Ruby のバージョンを落とすはめに・・・

1.8系から 1.6系(ruby-1.6.8.2003.10.15)にしたら image.rb が使えるように。

これって、FreeBSD ユーザーが packages から ruby を入れた場合にけっこう陥りやすい問題じゃなかろうか。Ruby 公式サイトのわかりやすいところからリンクがほしいよのお。

コメント投稿
次の記事へ >
< 前の記事へ
TOPへ戻る

Powered by
MT4i 3.0.8