y-matsui::weblog

電子楽器、音楽、コンピュータ、プログラミング、雑感。面倒くさいオヤジの独り言

CobaltRaQ550+MovableType3.2ja+Perl5.6.0

CobaltRaQ550上でBerkleyDBを使って動かしているMovableTypeのmt-search.cgiでエラーが出ていた件。
”mt-search.cgi エラー”で検索した結果のページでドンピシャの回答を発見。
Movable Type のサーチ機能(mt-search.cgi)でのCGIエラー解決
コンソールでmt-search.cgiを実行したら、
Use of uninitialized value in subroutine entry at /usr/lib/perl5/5.6.0/i386-linux/DB_File.pm line 259.
259行目の
DoTie_($tieHASH, @arg) ;
コメントアウトすると
Can't call method "id" on an undefined value at lib/MT/App/Search.pm line 173.
なんていうエラーになる。
上記の参考サイトと同じく、
$arg[3] = 0666 unless defined $arg[3];
コメントアウトすると、めでたしめでたし、検索できるようになる。
DB_File.pmのバージョンは、1.72で、これも参考サイトと同じ。
たぶんBerkleyDBを使わなければ出ないエラーなんだろうな。CobaltRaQ4の時は、MySQLを使っていたので、さまざまな状況の組み合わせて出てきたってことか。
いやはや、こんなの自力じゃ絶対に解決できんよ。
助かった。