トップページ⇒php
982コメント335KB

【Ruby】RubyでCGI

■ このスレッドは過去ログ倉庫に格納されています
0001名無しさん@お腹いっぱい。2001/05/04(金) 12:57ID:c4hRtzGY
Rubyについて語るスレッドです。
関連リンクは>>2-3
0448nobodyさん03/11/21 14:31ID:???
*.rbx は動くのかな?
Files が使えないってことはあるのかな・・・

AddType application/x-httpd-eruby .rhtml
を追加するというのはどう?
0449初心者03/11/21 15:08ID:???
>>448
実はそれも付け加えてあるんですよねw

AddType application/x-httpd-eruby .rhtml
Action application/x-httpd-eruby /cgi-bin/eruby

↑上記をです

ちなみに/cgi-bin/は

ScriptAlias /cgi-bin/ "/var/www/cgi-bin/"

<Directory "/var/www/cgi-bin">
AllowOverride All
Order allow,deny
Allow from all
</Directory>

とされてます
もちろんその下にはerubyをコピーしてあります
0450nobodyさん03/11/21 15:19ID:???
>>449
ん、、、
mod_ruby の場合、cgi-binの下にerubyを置く必要は無いので、
>Action application/x-httpd-eruby /cgi-bin/eruby
この行も、cgi-bin/eruby もいりません。
ついでに定義もどっちかひとつにした方がいい
0451初心者03/11/21 15:45ID:???
>>450
なるほどメモメモ.._〆(゚▽゚*)

という訳で<Files>〜を全てコメントアウトして、AddTypeのみにしましたけど
まだ駄目です…(´Д⊂
ダウンロードしろという奴をダウンしてきて、エディタで開くとそのまんまだし…
0452nobodyさん03/11/21 16:32ID:???
>>451
おかしいなあ・・・
apacheの再起動はしてる?
restart じゃなくて、stop -> start してみて
0453初心者03/11/21 16:38ID:???
>>452
今までrestartでしてました
stop -> startしても変わりません…

ご迷惑おかけして申し訳ないです
まだ他に何か考えられるとこ無いですかね?
0454初心者03/11/21 16:54ID:???
スイマセン、何故だか自己解決しましたw

とりあえずAddType〜をコメントアウトして、
もう一度<File *.rhtml>でやってみたら何故か出来た…Σ(´Д`lll)
昨日までと同じなのに…

他に変えたとこは
RubyRequire auto-reload
をコメントアウトした位なんだけど、関係あるのかな〜?
0455nobodyさん03/11/21 18:18ID:???
動けばいいってものじゃない
<File>を使うなんて的外れもいいとこ
httpd.confについてよく勉強すれ
0456初心者03/11/21 18:33ID:???
>>455
ふむふむメモメモ..._〆(゚▽゚*)
勉強いたします。
ついでになぜ<Files>がいけないのかご教授頂ければありがたいです
0457nobodyさん03/11/21 19:08ID:???
mod_ruby の元のページでの設定方法には、<Files *.rhtml> の方法しか
書いていないわけだが…
0458nobodyさん03/11/28 06:50ID:???
>>455
>動けばいいってものじゃない

いいえ、動けばいいんですよ。
目的と手段がごっちゃになってはいませんか?
0459nobodyさん03/11/29 18:53ID:???
apache-1.3.27 ruby1.8.0 eruby-1.0.4 mod_ruby1.0.7
でerubyを動かしたいんですが、
apacheを動かす際、

Starting httpd: Syntax error on line 250 of /etc/httpd/conf/httpd.conf:
Cannot load /usr/libexec/apache/mod_ruby.so into server: libruby.so.1.6:
cannot open shared object file: No such file or directory


と出て起動してくれません。
この前にruby1.6がrpmで入ってたのですが、アンインストールはしてあります。
ちなみに、libruby.so.1.8が/usr/local/libフォルダに入っていますが、mod_ruby.so
の方でなぜか1.6を探しているみたいです。
これはmod_rubyのconfigureの際のオプションで直るのでしょうか?
ご教授願います。
0460nobodyさん03/11/29 19:34ID:???
mod_ruby.so や libruby.so のnリンク先を調べたり、
ldd してみたらどう?どれかが古いままなんだろう
0461nobodyさん03/11/29 19:49ID:???
>>460
lddなんてのがあるんだ(;゚∀゚)

lddしてみたら、libruby.so.1.6がNot Foundになってたから、
/usr/lib/見たらやっぱり無かったよ

という訳で/usr/local/lib/libruby.so.1.8を無理やり/usr/lib/libruby.so.1.6
ってしたら上手くいっちゃったけど、なんでmod_rubyは1.6を探そうとするの?
configure時の設定ですか?

とりあえず(TдT) アリガトウ
0462nobodyさん03/11/29 19:50ID:???
>>461
あぁ1.8を1.6としてリンクさせました。
補足です。
0463初心者03/11/30 22:44ID:???
またお世話になります。

あれからeRubyでCGI書いてるのですが、
フォームでファイルをアップロードするとこで困ってます。

>>424のようにやってみたのですが、
undefined method `read' for nil:NilClass
readが無いって言われます。
他にもoriginal_filenameとかも無理です。

ちなみに、これをRubyでやると上手くいきます。

なぜなんですか?
0464nobodyさん03/11/30 22:58ID:???
nil だから。nilチェック入れてデバッグするのがいいかな
ついでに、オレも1.8にして気がついたが、
cgi.params['bar'][0] にしないとアクセスできんかった気がする
0465初心者03/11/30 23:08ID:???
>>464
そのnilチェックはどうやってやるんですか?
0466初心者03/12/01 00:19ID:???
あぁぁ
paramsなんて無いって言われるわ
ファイル開こうとするとInsecure Operationって出るわ
Rubyなら出来ることがeRubyで出来ない…
0467nobodyさん03/12/01 01:11ID:???
ああ、セキュリティレベルか。
適時、untaint をするとよろし

基本的に、外からもらう文字列にはuntaintが必要
0468初心者03/12/01 10:35ID:???
>>467
file関係はまさにセーフレベルでした!
eRubyのデフォルトのセーフレベルっていくつですか?…て
これ位は自分で調べられますねw

ただ、multipart/form-dataの方が全く駄目です。
なんでreadが無いって言われるんですか…?
0469nobodyさん03/12/01 15:11ID:crZKm9cC
eruby で簡単なものを書いて表示させるときちんとブラウザ
に表示されるのですが、アドレスに引数を付けて表示させると
なぜか Internal Server Error: premature end of script headers
と出て表示されません。

apache のエラーログには
/usr/local/bin/eruby: missing required file to process

と出ていました。
もともと Windows + AnHTTPd + ruby1.6.8 できちんと動作
していた .rhtml を、 Linux + apache2.0.40 + ruby1.8.0 + eRuby 1.0.4
に持ってきたのですが引数を付けると動かなくなってしまって困ってます。
どなたかアドバイスいただけないでしょうか。
0470nobodyさん03/12/01 16:29ID:???
1.8.0になって、cgi.rb周りがけっこうかわってる
引数って例えばどこにどんなのをつけたのか?
0471nobodyさん03/12/01 17:24ID:???
そのようですね、で一応ホントにシンプルなものを書いてテスト
していました。以下はテストのために書いたものです。

---test.cgi-------------------
#! /usr/local/bin/eruby
<html><body>
<%
require 'cgi'
p CGI.new.params
%>
</body></html>
------------------------------

普通に 'http://xxxxxxx/test.cgi?AAA' とすると

{"AAA"=>[nil]}

と出るのですが 'http://xxxxxxx/test.cgi?AAA=' と
'=' を付けると(というか記号をつけると)Internal Error
になります。

# require 'cgi' しなくても引数に '=' を付けるとエラーになります。
# これは普通でしょうか?
0472nobodyさん03/12/01 18:19ID:???
んー、、、ちょっと同じ環境作るのでバージョン教えてくれないか

あと、
begin
require 'cgi'
p CGI.new.params
rescue
puts $!
end
とかできるかのう
0473nobodyさん03/12/01 19:04ID:???
入れて見た、、けど現象出ないねえ
eRubyがreadlineと相性悪いのは発見したが・・・(x86Solaris9)
0474469(471)03/12/01 19:09ID:???
$ eruby --version; /usr/sbin/apachectl -v
eRuby version 1.0.4
ruby 1.8.0 (2003-08-04) [i686-linux]
Server version: Apache/2.0.40
Server built: Jul 31 2003 11:36:14

です。
ruby/eruby ともに公式サイトで安定版として公開
されている最新のものだと思います。

それから begin 〜 resuce 〜 end は実行出来ませんでした。
Internal Server Error、要するに今までと同じエラーが
出てしまいます。

今のところ先頭行に #! を付けて .cgi として CGI として
動かしていますが、httpd.conf の AddType + Action で
.rhtml としても同じ状況になってしまいます。

相変わらずアパッチのログには missing required file
to process. と出てます・・・
047546903/12/01 19:16ID:???
そうですか、うーんなにが悪いんでしょう・・・
それはそうと、わざわざ試していただいてありがとうございました。

# あー、Windows に戻すのはやだなぁ・・・
0476nobodyさん03/12/02 15:01ID:???
あれ、、、mod_ruby は使ってないのね?
それで先頭の#!/・・・を使わないで起動してるってことは
/cgi-bin/ あたりにeruby 入れてるのね。
ちょっとその環境で試してみるわ。なんかあやしそうだ・・
047746903/12/02 19:33ID:???
あ、そうでした。mod_ruby は使っていません。ですが先頭の #! は有るのと無いの両方試しましたがどちらもうまくいきませんでした。
0478nobodyさん03/12/03 01:48ID:???
>>477
そういえば、、lib の 1.6だったかを挿してて無理やり1.8をリネームしたのも
>>477 だっけ?
1.6.xのとっ中までcgi.rbがパラメタの=の両端がそろって無いとエラー出す
バグがあったのを思い出したよ。あやしいバイナリ全部作り直せ
0479nobodyさん03/12/03 13:55ID:???
そのバグは 1.8 では直ってるんですよね?
ちなみに僕はそのリネームした人ではないですが、
一応バイナリ make しなおしてみます。

# cvs 最新版で試したりと、もういろいろやってはいるのですが^^;
0480nobodyさん03/12/04 19:27ID:???
素直に ruby-list に投げるとか。
0481nobodyさん03/12/05 19:22ID:???
どうも、質問させてもらいます。
簡単なタイムアウトエラースクリプトを組んだのですが、

require "timeout"
begin
timeout(1) do
loop{}
end
rescue TimeoutError
print "timeout\n"
end

これをシェルから eruby | ruby でやるとちゃんと動作するのに、
CGIで動かそうとするとtimeoutしてくれません。
ちなみにruby1.8.0 eruby-1.0.4です。
よろしくお願いします。
0482nobodyさん03/12/06 04:31ID:???
>>481
1行目に
#!/usr/local/bin/ruby18
print の前に
print "content-type: text/plain\r\n\r\n"
を付け加えて481.cgiとして保存して試したら、timeoutって返ってきたよ。
0483nobodyさん03/12/06 10:09ID:???
>>482
これでやったけど

#!/usr/local/bin/ruby18
print "content-type: text/plain\r\n\r\n"
require "/usr/local/lib/ruby/1.8/timeout.rb"
begin
timeout(1) do
loop{}
end
rescue TimeoutError
print "timeout\n"
end

駄目ぽ…。タイムアウト反応してくれない…。
0484nobodyさん03/12/06 15:05ID:???
ファイルに書いてみればどう勘違いしてるかわかるよ
0485nobodyさん03/12/06 18:31ID:???
>>484
ん?どういうことですか?

printの出力先をファイルにしても、timeoutが反応してくれないので
無限ループから抜け出せないから見れないんですが…

それとも俺が青二才なのかな…?
0486nobodyさん03/12/06 20:06ID:???
モジュール使ってたりして
0487nobodyさん03/12/06 20:52ID:???
調べてるとこんなの出てきた
以下勝手に引用

>一つの ruby のプリミティブで実行してしまうので、スレッド切り替えポイントがないので
>タイムアウトにならない
>Ruby のスレッド切り替えについて、大分誤解してて、SIGALRM が来たら即切り替え、
>だと思っていたら、大抵の場合そうではなく、pending しておいて、切り替えポイントで
> pending が true なら切り替える、みたいなことをしているんだと思う。

関係あるかな?
0488nobodyさん03/12/07 06:00ID:???
>>485
CGIとそうじゃないほうで p [RUBY_PLATFORM, RUBY_RELEASE_DATE, RUBY_VERSION]
したら何になるの?
0489nobodyさん03/12/07 10:31ID:???
>>488
両方とも["i686-linux", "2003-08-04", "1.8.0"] でした。
0490nobodyさん03/12/07 14:50ID:???
>>483
うちの環境では timeout したよ。
Apache(とか httpd の類)の log みたほうがいいかと。
0491nobodyさん03/12/27 06:11ID:???
ttp://www.google.co.jp/search?q=%E3%82%8B%E3%81%B3%E3%81%8D%E3%81%A1+OR+rubikitch+site:2ch.net&hl=ja&lr=&ie=UTF-8&oe=UTF-8&c2coff=1&start=20&sa=N
0492nobodyさん04/01/06 01:54ID:xw1q3uSM
cgi.rbでcookieを設定すると、operaで上手く動かない時がある。
なんでだろう?
0493nobodyさん04/01/12 02:39ID:???
例外処理で、NameErrorやZeroDivisionErrorはちゃんと捕らえてくれるのに、
TimeoutErrorやSyntaxErrorだけ察知してくれないのは何が考えられるのでしょう?
0494nobodyさん04/01/12 04:37ID:???
>>493
リファレンスマニュアルの raise の項と、例外クラスのリストを穴があくまで見れ。
0495nobodyさん04/01/12 11:18ID:???
>>494
むぅ、読んだけど間違ってない気が…
簡単な例を書くと、

begin
…code
rescue NameError
print "NameError!!"
rescue SyntaxError
print "SyntaxError!!"
end

codeの部分を、
a = 1
print b
とするとちゃんとNameErrorが補足されNameError!!が出力されるのに、
a = 1
print a:
とするとSyntaxErrorの例外処理が適用されず、Ruby側でエラーをキャッチして
強制終了されてしまいます。

ちなみに動かしているのはeRuby1.0.4のデバッグモードなんですが、
それと関係ありますか?
0496nobodyさん04/01/12 16:58ID:???
SyntaxError は eval 系内で起きる構文エラーをキャッチする目的で使ってくれ。
0497nobodyさん04/01/12 18:27ID:???
>>496
ア、ナ〜ル
理解いたしましたw
0498nobodyさん04/01/18 16:50ID:???
tDiaryってAAA! CAFEで使えますか?
0499nobodyさん04/01/20 20:11ID:???
CGIからデータを入力させて、それをgnuplotでグラフ化して
画像として保存し、ブラウザで表示させたいと思っています。
http://psux1.kek.jp/~thitoshi/ruby/
で配布されてたGnuplotクラスを利用して、データをファイルに
保存させ読み込む形式にしたいのですが、

gp = Gnuplot.new
gp.set("term","png color")
gp.set("output","\"graph.png\"")
gp.plot("\"foo.dat\" with lines")
gp.close

ローカルで動かすとちゃんとgraph.pngを生成してくれるのですが、
CGIを通すと動いてくれません。
原因がわかる方いらっしゃいますか?
0500nobodyさん04/01/20 21:29ID:???
>>499
ディレクトリのパーミッションとかは大丈夫?
0501nobodyさん04/01/20 21:41ID:???
>>500
あっ、それか!
とりあえずcgi-binディレクトリを777にすると色々うるさく
言われたので、その下に777のtmpディレクトリを作成し、
そこで作業をしたら出来てました!
ありがとうございました(=゚ω゚)ノ
0502nobodyさん04/02/10 02:03ID:???
WebrickのServletとして書いたものを、できるだけいじらずにCGIとして動かしたいんですが
いいライブラリとかありますか?
0503nobodyさん04/02/10 09:52ID:???
>>502
ttp://www.notwork.org/ipr/webrick/webrickja/0/93.html
0504nobodyさん04/02/11 21:02ID:???
ありがとう。助かりました。
webrickのMLのログも知らなかった。
0505nobodyさん04/02/21 06:56ID:???
>>121を見て自分の開発中のWikiEngineを窓から投げ捨てようとしているヤシよ
yaml と pstore でググってみよ
0506nobodyさん04/02/21 12:04ID:???
>>505
あ、俺の事だ。
とりあえず解決したよー。
アドバイスさんくす。
0507nobodyさん04/02/24 02:31ID:xNGflriR
もうわけわからん
$ cat ng2.cgi
<%
require 'cgi'
def text; puts "ng2.cgi"; end
class Hoge;def view
text
end;end
%><html>
<BODY>
<%
Hoge.new.view
%>
</BODY></HTML>
$ echo aaa|eruby ng2.cgi
<html>
<BODY>
ng2.cgi

</BODY></HTML>
ちゃんと動くのに
apache,mod-rubyで動かすとエラーになる
[Tue Feb 24 02:27:43 2004] [error] mod_ruby: error in ruby
/tmp/ng2.cgi.17966.0:10:in `view': undefined local variable or method `text' for #<#<Module:0x41744d5c>::Hoge:0x40a41410> (NameError)
from /tmp/ng2.cgi.17966.0:17
from /usr/lib/ruby/1.8/apache/eruby-run.rb:113:in `load'
from /usr/lib/ruby/1.8/apache/eruby-run.rb:113:in `run'
from /usr/lib/ruby/1.8/apache/eruby-run.rb:78:in `handler'
0508nobodyさん04/02/24 02:40ID:???
$ rpm -q ruby eruby mod_ruby apache
ruby-1.8.1-0vl6
eruby-1.0.5-0vl1
mod_ruby-1.0.7-0vl1
apache-1.3.29-0vl1

require 'cgi'を外すとか
RubyRequire cgiをつけるとかすると上手く動くけど
なんで〜?Ruby1.6辺りの環境では問題なかったんだけどなぁ
0509nobodyさん04/02/25 01:34ID:???
rubyをwindows上で動かしたいのですが、apacheの設定で必要な
ものってありますか?
0510nobodyさん04/02/25 01:54ID:???
>>509
Perl/CGI が動いているなら、Ruby/CGI もそのままいける。
0511nobodyさん04/02/25 02:07ID:???
>>510
サンキューです。
0512nobodyさん04/02/25 06:29ID:???
>>507
mod_ruby使ったことないんだけど
textって、mod_ruby下でもほんとにトップレベルにある?
その変な無名モジュールに包まれてるみたいだけど。
0513nobodyさん04/02/25 16:51ID:???
仕様書を読む気力が無いのですが、良かったら教えて下さい。

require 'cgi'
cgi.out({'status' => 'NOT_FOUND'})

てなことをすると、
cgi.rb:561:in `out': no block given (LocalJumpError)

と怒られます。

cgi.out({'status' => 'NOT_FOUND'}){}
は
cgi.rb:578:in `out': undefined method `length' for nil (NameError)
です。

cgi.out({'status' => 'NOT_FOUND'}){''}
ならオッケイなんですが、これで正しいの?
ボディはいつも返さないといけないのかな?
0514nobodyさん04/02/25 17:13ID:???
>>513
print CGI.new().header({"status"=>"NOT_FOUND"})
0515nobodyさん04/02/25 22:13ID:???
>>514
あ、なるほど。CGI#out にするのが悪かったのね。サンクス。
051650704/02/26 01:23ID:???
>>512
レスどうも
無名モジュールとかの用語がわからんのでググってみましたが
まだよくわかってないです
http://www.google.co.jp/search?q=ruby+%96%B3%96%BC%83%82%83W%83%85%81%5B%83%8B+%83g%83b%83v%83%8C%83x%83%8B&num=50&hl=ja&ie=Shift_JIS
>トップレベルで定義されたクラスやメソッドなどはObjectの下に定義される代りに、
>その無名モジュールの下に定義されます。
とあるけど???です
1.6の頃とどう変わったんだろう?
ruby-1.6.7-0vl5
eruby-0.9.8-0vl2
mod_ruby-0.9.7-0vl1
apache-1.3.27-0vl3
だと問題ないんだけどなぁ
0517nobodyさん04/02/26 02:49ID:???
力業。
Kernel.module_eval {
def text
p "text"
end
module_function :text
}

「トップレベル(に見える場所)で def する癖はやめましょう」が
一番の正解だと思います。main での def は特殊な予感。
0518nobodyさん04/02/26 10:06ID:???
module_function はいらなかった。
Kernel.module_eval {
 def text
  p "text"
 end
}
051950704/02/27 17:30ID:???
>>518
確かにエラー出なくなりました。ありがとうございます。
普通にerubyでも動くんで
小さいスクリプトはこれでいこうと思います。
0520nobodyさん04/02/28 08:06ID:???
>>516
ぐぐった中で見つけてますね。
http://blade.nagaokaut.ac.jp/cgi-bin/scat.rb/ruby/ruby-list/29112
http://slashdot.jp/journal.pl?op=display&uid=7790&id=151929

mod_rubyの仕様のようですが、>>517に同意です。
せっかく名前空間を汚染しないための措置なのに、
むりやり>>518みたいなことを全部のスクリプトでやるのは
気持ち悪いし、後で見たときわけわからなくならない?
0521nobodyさん04/02/28 08:19ID:???
>>505
Ruby 1.8.0 に添付されてた yaml なんだけど、
自己参照の多い、ちょっと複雑なArrayとかがまともに保存できなかったので
使うのをyamlことにしたんだけど、新しいのが出てるのかな?
0522nobodyさん04/02/28 09:13ID:???
忘れてた。Kernel に定義するのは危険すぎです。
mod_ruby だと高速化のためにプロセスを使い回すわけだから、
タイミングによっては def text してないスクリプトで text が
呼べてしまう現象が起きてしまうかも。
こういうのは不可解なバグにつながる危険があるから、
本当におすすめできません。

>>521
まともって??

とりあえず 1.8.1 使いましょう。
0523nobodyさん04/02/28 22:03ID:???
>>521
bug report 投げれ。
0524nobodyさん04/02/28 23:47ID:???
windowsでrubyをc直下にインストールしたけど、
CGIスクリプトの一行目は
#!usr/local/bin/rubyでいいのでしょうか?
0525nobodyさん04/02/29 00:11ID:???
>>524
なにをどうインストールしたのでしょう?

もし ruby-1.8.1-i386-mswin32.zip を C:\ に展開したのでしたら、
c:\bin\ruby なので #!/bin/ruby になります。
0526nobodyさん04/02/29 01:08ID:???
>>525
ありが�d
052750704/03/02 00:09ID:???
>>520,522
あーKernel.module_eval は駄目なんですか
うーん、最初のRubyRequire cgiに戻しました
mainでdefしない、は正直厳しいんです。
1.6->1.8変更の
>Module#include [change]
>トップレベルの include は、第二引数に true を指定した load でロードされるスクリプトのもとでは
>モジュールの機能を self に extend するように変更されました。
ってのが原因?
load(file,true)自体の説明は1.6,1.8とも変わってないんで
0528nobodyさん04/03/02 00:43ID:???
>>527
mod_ruby 側でない?

書き換え量が気にならないなら、こうするのがベターです。
module Func
 def text
  p "text"
 end
 extend self # おまじない
end
Func.text
0529nobodyさん04/03/02 06:41ID:???
>>528
module_function するのとどう違うんだっけ?
0530nobodyさん04/03/02 10:31ID:???
>>529
module_function は private と同じで、指定したものだけか、
もしくはそれ以後に def されたものだけ公開します。

それに対して extend self は全て公開します。
関数群の名前空間に使うのならこちらのほうがお手軽です。
0531nobodyさん04/03/04 02:10ID:???
最近 tDiary を使い始めたのですが、
recent_list.rb で表示されるタイトルが
a.rb を使って <%= a %> の形式で書いていると
そのままで変換されません。
どこをどう変えれば良いのでしょうか?
Ruby が全然読めない私にも救いの手を・・・
0532nobodyさん04/03/04 04:36ID:???
@conf['apply_plugin'] = true
053353104/03/04 17:33ID:???
>>532

それで上手く行きました。
ありがとうございました。
053450704/03/05 01:14ID:???
>>528
どもです。色々あるもんだなぁ
後学の為の課題とします。
0535nobodyさん04/03/06 17:37ID:C+c5xFRd
MacOSX(Panther)でmod_rubyを使用してます。

Apache: 1.3.29
mod-ruby: 1.0.7
ruby : 1.6.7(fink)

スクリプト中でアーキテクチャ依存のモジュールをrequireすると
エラーになります。

例えば

#!/sw/bin/ruby

require 'nkf' # for test

require 'cgi'
cgi = CGI::new

cgi.out() {
"<html><body>test</body></html>"
}

をhoge.rbxとして保存してアクセスすると
0536nobodyさん04/03/06 17:39ID:C+c5xFRd

/Users/hoge/Sites/honesty/hoge.rbx:3:in `require': (null) - /sw/lib/ruby/1.6/pow
erpc-darwin6.6/nkf.bundle (LoadError)
from /Users/hoge/Sites/honesty/hoge.rbx:3
from /sw/lib/ruby/1.6/apache/ruby-run.rb:70:in `load'
from /sw/lib/ruby/1.6/apache/ruby-run.rb:70:in `handler'
from ruby:0

と怒られます。
なお、同じスクリプトをhoge.cgiとして保存してCGI経由でアクセスすると
エラーは起こりません。

0537nobodyさん04/03/06 23:59ID:???
よくわからないけど、パーミッションはだいじょうぶ?
mod_ruby の場合は apache ので動くからね。
0538535=53604/03/07 08:34ID:xKL6fKn7
>>537
同じ字面のスクリプトがCGIで動くので大丈夫だと思います。
hoge.rbxは755, nkf.bundleは555(ownerはroot)です。

あと、*.rbのモジュールは問題なくrequireできますし、
同じスクリプトをLinuxに持っていっても問題なく動きます。
0539nobodyさん04/03/08 07:46ID:???
>>530
産休
0540nobodyさん04/03/12 10:37ID:XHgrIkQV
CGIKitに似たフレームワーク登場。というかWebObjectsのパクリ。EOFもまねている。
http://www.starware.one.pl/software/sws/index.html
http://www.starware.one.pl/software/sws/doc/docbook/index.html

だれか使ってみて。


0541nobodyさん04/03/12 16:04ID:???
>>541
おおーー。面白そう。早速試してみよう。
0542nobodyさん04/03/12 17:59ID:???
>>540

EOFにあたるDBライブラリもリンクしときます。
http://www.starware.one.pl/software/sds/

まだ試してはいないんだが、DBライブラリのほうはコンパクトにまとめてあるみたいだね。
SWSと組み合わせて使うのが前提なのかもしれないな。
054354104/03/12 19:58ID:???
examples試してみたけど、感触いいねー。
0544nobodyさん04/03/12 20:34ID:lAf/ivCV
>>540

くだらないと思った。

Javaじゃないんだからそんなフレームワークとかなんとかってやめようよ。

普通に組むのが一番いいんだよ。
0545nobodyさん04/03/12 22:17ID:???
普通って何?
0546nobodyさん04/03/12 23:16ID:???
CGIライブラリ使って、じかに params いじってほげほげするんじゃないの?

それですむ場合も多いとは思うけど、やっぱり仕事とかで大量のページ遷移を
作らなきゃいかんときは、フレームワークあったほうが便利だわな。

究極的には自分用(もしくは会社用)フレームワークを自作すればいいんだが。
0547nobodyさん04/03/13 07:00ID:???
楽ができれば何でもいいさ。
■ このスレッドは過去ログ倉庫に格納されています