« YAPC::Asia 2006に行って来ました | メイン | TortoiseSVNでキーワードアンカーの設定をする »

2006年03月31日

PERL5WEBDBを試してみる

昨日のYAPC::Asia 2006のプレゼンで興味を持った、PERL5WEBDBを手元のFedoraCoreマシンにインストールしてみました。
手順は、

# cd /var/www
# tar xzf perl5webdb-0.01.tar.gz
# cd perl5webdb-0.01
# bin/makeconf.pl `pwd` 3000 name pass >> /etc/httpd/conf/httpd.conf
# /etc/rc.d/init.d/httpd restart

こんな感じで。
ポートを何番にしていいのか良く分からなかったので、とりあえず3000とかにしてみた。これでいいんかな?
で、実際に http://localhost/webdb/ にアクセスしてみると、

Waiting for debugger...

わくわくして、待っても

Waiting for debugger...

あれれ。
なんか、僕が勘違いしてるとか、必要なものが入ってないとかなのかなー。
動かしてみたいのに。うーん。

投稿者 CHEEBOW : 2006年03月31日 13:50
[ Perl ]

トラックバック

このエントリーのトラックバックURL:

このエントリーを含むはてなブックマーク

このリストは、次のエントリーを参照しています: PERL5WEBDBを試してみる:

» PERL5WEBDB で Movable Type デバッグ from Kazuho@Cybozu Labs
 PERL5WEBDB のバージョン 0.02 をリリースしました。BEGIN ... [続きを読む]

トラックバック時刻: 2006年06月22日 07:18

コメント:

YAPC では、おひさしぶりでした。トライしてくださって、ありがとうございます。

表示が Waiting for Debugger... になっている段階で、他のウィンドウから CGI にアクセスしても、デバッグ画面に切り替わりませんか?

内部的には、デバッガ画面が発行する Cookie を SetEnvIf で判定して PERLOPTS に -d オプションをつけているので、デバッガウィンドウと CGI を呼び出すウィンドウで Cookie を共有できている必要があります。

投稿者 kazuho : 2006年03月31日 14:27

>kazuho
えーと、Firefoxで別のタブからCGIにアクセスしても切り替わらないのです。
もしかして、勘違いしてるかもしれませんが、例えば、同じサーバにインストールしているMovableTypeの管理画面を起動すれば、デバッガの対象になりますよね。
特定のディレクトリのCGIだけが対象だったりしますか?

投稿者 CHEEBOW [TypeKey Profile Page] : 2006年03月31日 15:44

MT の処理が全て BEGIN ブロックの中で終わってしまうので、デバッガが起動しないようです。

mt.cgi の中に BEGIN { $DB::single = 1; } 等とすれば、その時点でデバッグを開始することができます。

ただ、BEGIN ブロック内におけるデバッガの出力を正しくパースできなくて、いろいろデバッガに不具合が出る感じです。
とりあえず、bin/miniserv.pl の 188 行を下に変更すれば、ある程度動くことは動くみたいですが...

bin/miniserv.pl:188
if ($l =~ /::.*\((.+?):(\d+)\):$/) {

投稿者 kazuho : 2006年03月31日 16:42

教えてもらった方法でもうまくいかなかったので、単純なCGI(Hello World!を表示する)で試してみましたが、デバッガを立ち上げて、このCGIを叩くと500エラーが出ます。
なので、問題はもっと別のところにあるのかもしれません。
こっちのシステムの問題って気もするので、もう少し調べてみますー。

投稿者 CHEEBOW [TypeKey Profile Page] : 2006年04月03日 11:22

コメントしてください




保存しますか?