Ktai Styleのログインセッション保存テーブルを手動で生成する時の注意

Ktai StyleはWordPressのプラグインで携帯から閲覧、編集ができるようになるのですが、なぜかうちのサイトではログインが出来ず、編集することができませんでした。まあ、携帯からの編集を目的に導入したプラグインではないので別によかったといえばよかったのですが、やはり、しっくりこなかったのでいろいろ試して出来るようにしました。

まず、なぜ、携帯からログインができなかったのか。詳しい仕組みとかそういうことには素人なので原因はよく分からないのですが、「ログインセッションを生成ができない」エラーになってログインができなかったんですね。で、これはログインセッション保存テーブルが自動で生成されなかったせいで、手動でテーブルを作れば問題ないようでした。方法はktai_style/admin/install.phpにある

CREATE TABLE IF NOT EXISTS `{$wpdb->prefix}ktaisession` (
`sid` varchar(32) NOT NULL,
`next_id` varchar(32) NULL default NULL,
`expires` datetime NOT NULL default ‘0000-00-00 00:00:00′,
`user_login` varchar(60) NOT NULL default ”,
`user_pass` varchar(64) NOT NULL default ”,
`user_agent` varchar(255) NULL,
`term_id` varchar(64) NULL,
`sub_id` varchar(64) NULL,
`data` text NULL,
PRIMARY KEY (`sid`)
)

をphpMyAdminで実行させればよいわけです。しかしこやつも「データベースを選択してません」なんていうエラーを吐いてしまってうまくいきませんでした。
実はレンタルーサーバーは、さくらインターネットを利用しているのですが、さくらではデータベースを複数設置することができないようになっています。WordPressを複数設置するには、本体のwp-config.phpをいじればいいのですが、どうやら逆にいじったせいで今回は「データベースを選択していません」なんていうエラーが出てしまったようです。
そこで太文字{$wpdb->prefix}部分をWordPress本体wp-config.phpで変更したテーブル名にそのまま書き換えて実行してやると正常にテーブルが作られるようになりました。つまりwp-config.phpで
before: $table_prefix = ‘wp_‘;
after: table_prefix = ‘wp2_‘;
にしていたら
before: CREATE TABLE IF NOT EXISTS `{$wpdb->prefix}ktaisession` (
after: CREATE TABLE IF NOT EXISTS `wp2_ktaisession` (
にしてやればいいわけです。
念のため携帯からログインしてやると、ログインもでき、ダッシュボードまでたどり着けました。
えがったえがった。
ちなみに、誤解のように書いておくと、テーブルの名前を変更していても普通は自動でログインセッション保存テーブルが生成されるので、こんな面倒なことしなくてもいいはずです(実際、テストブログでは自動でテーブル生成されました)。

posted on 2008/04/05 category: WordPress tag: , , . You can follow any responses to this entry through the RSS 2.0 feed. You can leave a response, or trackback from your own site.

コメントが4件あります

  1. テーブル手動生成ですが、「{$wpdb->prefix}」の部分は変数部分なので、この文言のまま phpMyAdmin に入れるのは意味がありません 。上記の通り、wp-config.php で設定した $table_prefix の内容で置き換えてやるのが正解です。これは、さくらインターネットの問題ではなくて、「変数部分を実際の値に置き換えてなかった」という話です。少し解説の修正をお願いします。

    セッション保存テーブルが自動生成されなかったのが気になりますね。調査してみますので、MySQL のバージョンを教えて、もらえないでしょうか。

  2. >ゆりこさん
    ご指摘ありがとうございます。phpMyAdminを触ること自体はじめてに近かったもので{$wpdb->prefix}は必ず変更しないといけないんですね。今後も何かのプラグインでいじる時は参考にしたいと思います。ありがとうございます。
    MySQL クライアントのバージョン: 4.1.20でした。

  3. 同様の現象で悩んでいたので、この情報は大変役立ちました!
    ありがとうございました!!
    私はXServerです。ktai_styleのInstall時にテーブルが生成されないために起こる現象…なんですね。(原因が不明?というのはすっきりしませんが、解決したので今晩はゆっくり眠れそうです(笑))

  4. >Mackyさん
    コメントありがとうございます。
    お返事がかなり遅れてしまい本当にすみませんでした。
    お役に立てたようでよかったです。

コメントをどうぞ

上記の 太文字部分 は必須項目です。メールアドレスは 決して 表示されません。

以下の HTML コードが利用できます:
<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong> <img localsrc="" alt="">
URIs must be fully qualified (eg: http://www.domainname.com) and all tags must be properly closed.

Line breaks and paragraphs are automatically converted.

Please keep comments relevant. Off-topic, offensive or inappropriate comments may be edited or removed.