Naoki Takezoe
ADS28****@nifty*****
2003年 6月 26日 (木) 10:24:27 JST
竹添です。 mod_perlへの対応をすすめています。かなり大改造になって しまっていますが、以下のような方針で行っています。 ・$main::のグローバル変数は使用せず、設定は$wikiに持たせる。 そのために$wiki->configメソッドを追加した。また、setup.pl を廃止し、setup.datというファイルからsetup.pl相当の設定を 読み込むようにした。 ・mod_perlで動かす場合はdata_dirなどは絶対パスで設定する という前提にする ・mod_perlで動作時はexit関数をApache::exitで上書きする。 ・エラー時はdieを使用せず、独自のエラー報告用関数を用意し、 それを使用する。 1つだけ問題があって、FarmのPATH_INFOなんですが、mod_perl で動かしている場合、以下のような挙動を示します。 1.親Wikiにアクセス→$ENV{'PATH_INFO'}=undef 2.子Wikiにアクセス→$ENV{'PATH_INFO'}='hoge' 3.親Wikiにアクセス→$ENV{'PATH_INFO'}='hoge' どうやら$ENVが共用されているようです。で、ルートのWikiの 場合はPATH_INFOが未定義のため、一度子Wikiにアクセスしてから ルートWikiにアクセスしてもPATH_INFOが上書きされていないよう なのです。 結局wiki.cgiの最後で $ENV{'PATH_INFO'} = undef; とすることで一応正常に動くことは動いています。 なお、試したのはWindows版Apache1.3.27+mod_perl1です。 なにか情報をお持ちの方はいらっしゃるでしょうか? ---- Naoki Takezoe <ADS28****@nifty*****>