sb Development Laboratory

<< [お知らせ] 年末年始の帰省について | main | Serene Bach 3.00 beta002 既知のバグ >>

Serene Bach 3.00 β版で管理画面にアクセスできない

インストール後に

Can't call method "title" on an undefined value at lib/sb/Admin/Home.pm line 223.

というメッセージが表示されて、ログインできない場合があります。

これはウェブログデータの id が 0 になっていないために起きる現象です。

SQL が分かる方は、以下のようにして id をセットし直します。

% mysql -h ホスト名 -u ユーザー名 -p データベース名
Enter password: パスワード
mysql> update `sb_weblog` set `weblog_id`='0' where `sb_weblog`.`weblog_id`=1 limit 1;

強調部がユーザーの入力する内容です。% はシェルやコマンドプロンプトのプロンプト記号、mysql> は mysql のプロンプト記号を示します。

ホスト名・ユーザー名・データベース名・パスワードは、設定に応じて変わります。sb_weblog は init.cgi で「prefix」を変更している方は変更する必要があります。

phpMyAdmin が利用できる環境でしたら、以下のような手順で変更できます。

phpMyAdmin にアクセス、ログインして、Serene Bach 3.00 β版で利用しているデータベースを選択します。

phpMyAdmin01.png

テーブル一覧より「sb_weblog」を選択します。その後「表示」ボタンで「sb_weblog」テーブルを表示します。

phpMyAdmin02.png

weblog_id が 1 になっているアイテムを編集します。「鉛筆」ボタンを押して下さい。

図では、すでに weblog_id が 0 になっていますが、うまくログインできない場合、この id が 1 になっていると思います。

phpMyAdmin03.png

weblog_id を 0 に変更して、保存します。

修正後、再度管理画面にアクセスして、正しくログインできるか確認して下さい。

ウェブログ名や説明に日本語が利用されていると、スクリーンショットのように文字化けしている可能性があります。phpMyAdmin上でデータを変更すると、管理画面の方で文字化けしてしまいますが、これは「ホーム」→「ウェブログ設定」で設定し直すようにして下さい。

Comments

私もこのエラーが発生したために、記載の通りに変更しようと思ったのですが
phpMyAdminがどうもうまく設定できないでいます。
SQLも無知なために、idのセットのし直し方法が記載されておりますが、何をどうすればいいかわからないで手をこまねいております。

諦めるしかないのでしょうか。

idのセットのし直しが比較的簡易なようであればもう少し細かく教えていただけないでしょうか。
どうぞよろしくお願いいたします。
2008/02/15 22:39
takkyun [その他]
>杯さん
お使いいただいている環境はどういったものでしょうか。

もし telnet などがご利用できる環境でしたら、Serene Bach を設置したサーバにログインしていただき、

mysql -h ホスト名 -u ユーザー名 -p データベース名

のように入力します。ここで、

ホスト名 : mysql サーバ
ユーザー : mysql へのログインユーザー
データベース名 : mysql 上に作成したデータベース名

となり、また、パスワードの入力も必要になりますが、それらは全て init.cgi に記載されているものと同じになります。

ホスト名 : db_param host と一緒
ユーザー : db_param user と一緒
データベース名 : db_param name と一緒
パスワード : db_param pass と一緒

以上、ご参考いただければ幸いです。
2008/02/17 18:31
丁寧なご指導ありがとうございます。
ご指導の通りやらせていただくとこのエラーは上手く回避できたようです。

しかし、次の壁にぶちあたってしまいました:-(

管理画面で再構築をしようとすると
予期しないエラーが発生しました。 at lib/sb/Build.pm line 406.
というエラーが発生いたします。
アーカイブの再構築では上手くいくのですが…。

またSerene Bach2.18Rからアップグレードをしたのですが、記事リストにおいて記事の数が[ 0 / 64 ]この様に表示され、過去ログを編集することができません。コメントでも同様の症状がみられます。
ご指導お願いいたします。
2008/02/18 12:51
takkyun [その他]
>杯さん

>lib/sb/Build.pm line 406

のエラーは設定したテンプレートが正しく取得できないのが要因のようです。

Serene Bach 2.18R からのアップグレードということですので、id が 0 のものが存在していない状態で移植されてしまった可能性があります。

この記事の操作では、 weblog というデータの id だけを修正していますが、同様に template なども修正する必要があるかもしれません。

template データの修正

mysql> update `sb_template` set `template_id`='0' where `sb_template`.`template_id`=1 limit 1;

これで再構築のエラーが回避されるかもしれません。

mysql> update `sb_entry` set `entry_id`='0' where `sb_entry`.`entry_id`=1 limit 1;

これで記事リストの不具合が回避されるかもしれません。

なお、現在、この不具合に関しては、根本的な構造見直しによって回避できるかどうか検討しているところです。

ご不便をおかけして申し訳ありません。
2008/02/20 03:18

Comment Form

[icon]

Trackbacks