はちゅにっき

こっちのブログはまったり更新

MENTA ではまる(微妙に解決編)

以下のエントリで書いた症状

500 Internal Server Error
ファイルを開けません: : No such file or directory at lib/MENTA/Dispatch.pm line 65.
http://d.hatena.ne.jp/magicalhat/20081218/p1

の "微妙に" 解決編。

結論から先に書くと

  • lib/MENTA.pm: 127 行目付近
        unless ($basedir) {
            require Cwd;
#            $basedir = Cwd::cwd();
#            ↑ こいつをコメントアウトして ↓こっちを追記
            $basedir = Cwd::getcwd();
        }

というわけで Cwd::cwd( ); を Cwd::getcwd( ); に変更したら動きました。
根本的な原因を微妙に分かっていないのですが、ソースを追っていったら、MENTA::base_dir( ) が 正しく current directory を返していなかった(空 '' が返ってきていた)ため、cwd を利用するのをやめて、getcwd を利用することにしました。
SELinux とか、 Apache の SUEXEC とかその辺がきっと関係しているんだと思うんだけど、その辺ちょっとまだ調査不足です。
教えて!エロい人!


とか言っている間に、MENTA 0.13 になったので VerUp したら今度は「マニュアル」のページが InternalServerError になりました。
う〜ん?安定するまでは、しばらく手を出さないのが得策ですか?
積極的にコミット側に参加できるようになるのが一番望ましいのでしょうが。。。