ページの作成や編集にはユーザ登録が必要です。
3.5.3へバージョンアップ後、エラーがでる - ゆきち (2004年04月15日 23時46分24秒)
最近、3.5.0から3.5.3へバージョンアップしたのですが、更新すると、エラーが出るようになりました。エラーメッセージは
Software error: Can't call method "config" on an undefined value at lib/Wiki/DefaultStorage.pm line 331.
といったものです。ただし、そのページに戻ると、更新はできています。
で、どうやって移行したかというと、
- fswiki全体のバックアップをローカルに置く
- サーバー上のデータを削除
- バックアップをコピー
- コピーしたもののwiki.cgi、libなどの必要なデータを3.5.3に入れ換える
- そのデータをサーバー上に置く
といったものです。
で、ちょっとやらかしてしまったのは、ローカルに落としたときにデータをバイナリで運んだかもしれないことなのです。何度も繰り返したため、既にそのあたり、不明な状態に入っています。
何かわかりましたら、教えてください。
- 以下のようにBEGIN節の一部をコメントアウトしてみるとどうなるでしょうか。 - たけぞう (2004年04月16日 00時57分56秒)
diff -r1.20 wiki.cgi 15,22c15,22 < my $cgi_carp_die_org = \&CGI::Carp::die; < sub _die{ < my $wiki = $CGI::Carp::wiki; < $wiki->_process_before_exit if($wiki); # 後処理 < $cgi_carp_die_org->(@_); < }; < *CORE::GLOBAL::die = \&_die; < $SIG{__DIE__} = \&_die; --- > # my $cgi_carp_die_org = \&CGI::Carp::die; > # sub _die{ > # my $wiki = $CGI::Carp::wiki; > # $wiki->_process_before_exit if($wiki); # 後処理 > # $cgi_carp_die_org->(@_); > # }; > # *CORE::GLOBAL::die = \&_die; > # $SIG{__DIE__} = \&_die;
- 上記はmod_perl(Apache::Registory)での運用時に異常終了した場合にメモリリークを防ぐためのコードなのですが、CGI環境であればコメントアウトしてしまってもとりあえず影響はないはずです。 - たけぞう (2004年04月16日 01時01分22秒)
- 上記修正でエラーがなくなりました。ありがとうございました。 - ゆきち (2004年04月17日 05時48分34秒)
最終更新時間:2006年07月18日 13時07分21秒