ktai styleでログインが出来ません
-
皆さんこんにちは。
今日はktai styleで質問があります。ログイン画面にIDとPASSを入れるとエラーが出ます。
IDかPASSが正しくありません、という内容です。
しかしながらPCから同じIDとPASSできちんとログイン出来ます。これはどうしてなんでしょうか・・・
また解決策はありますか?
-
↑すみません。嘘でした。
>IDかPASSが正しくありません、という内容です。ではなくて
エラー:ログインセッションを生成できませんでした。と出ます。
ログインセッション管理用のテーブルが作成されてないようです。
お使いのレンタルサーバーで、ユーザーによる CREATE TABLE が許可されているか確認してください。はい。聞いてみます!!
・・・で、許可されていたら何をすればいいんでしょうか?(^-^;)許可されていれば、Ktai Style を一旦「使用停止」にして、再度有効化してみてください。それでテーブルが作られるはずです。作られなかったら、phpMyAdmin などで手動でテーブルを作る必要があります。wp-admin/install.php を参考に以下の SQL を発行します。(wp_ktaisession のテーブル名や DEFAULT CHARCTER SET の部分は環境によって調整が必要です)
CREATE TABLE IF NOT EXISTS
wp_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_id
bigint(20) NOT NULL default 0,
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
)
) DEFAULT CHARACTER SET utf8_general_ci;7ヶ月前の質問なのでここにコメントするのはアレなのですが、他の方のため。
当方はマルチサイト環境でしたので、プラグインを停止→有効にしても解決しませんでした。上記のsqlを参考にして、下記のように解決しましたのでご報告いたします。
1) phpmyadminにて、データベースのsqlバックアップを行う。
2) CREATE TABLE からはじまる、”wp_ktaisession”の文字列を検索する
3) テーブル作成のsqlをコピーする(ウチの環境はこれでした)
CREATE TABLE
wp_ktaisession` (
sid
varchar(32) NOT NULL,
next_id
varchar(32) DEFAULT NULL,
expires
datetime NOT NULL DEFAULT ‘0000-00-00 00:00:00’,
user_id
bigint(20) NOT NULL DEFAULT ‘0’,
user_pass
varchar(64) NOT NULL DEFAULT ”,
user_agent
varchar(255) DEFAULT NULL,
term_id
varchar(64) DEFAULT NULL,
sub_id
varchar(64) DEFAULT NULL,
data
text,
PRIMARY KEY (sid
)
) ENGINE=MyISAM DEFAULT CHARSET=utf8;`
ここから、
4)CREATE TABLE
wp_ktaisession(
の行のテーブル名をマルチサイト環境に合わせて、テーブル名を適宜変更する5) 下記のようにテーブル名だけ書き換えて、sql実行(正常に作られたものからコピーすれば文字コードの環境は気にしなくてよいので)
CREATE TABLE
wp_hogehogenumber_ktaisession` (
sid
varchar(32) NOT NULL,
next_id
varchar(32) DEFAULT NULL,
expires
datetime NOT NULL DEFAULT ‘0000-00-00 00:00:00’,
user_id
bigint(20) NOT NULL DEFAULT ‘0’,
user_pass
varchar(64) NOT NULL DEFAULT ”,
user_agent
varchar(255) DEFAULT NULL,
term_id
varchar(64) DEFAULT NULL,
sub_id
varchar(64) DEFAULT NULL,
data
text,
PRIMARY KEY (sid
)
) ENGINE=MyISAM DEFAULT CHARSET=utf8;`こちらはこれでうまくいきました。
素晴らしいプラグインですので、マルチサイト環境にも対応していただけると幸いです。古い投稿ですが…
マルチサイト環境で「ネットワークで有効にする」で使用し
「エラー:ログインセッションを生成できませんでした」 に遭遇しました。ktai-style/admin/class.php の8箇所ある
$wpdb->prefix を $wpdb->base_prefix に変更しましたら、
各々の携帯サイトからログインできました。各々のサイトのID毎に生成される wp_ID番号_ktaisession テーブルを
wp_ktaisession の1つとしてます。
wp_ は、デフォルトのprefixです(一応それだとログインセッションを使い回してしまう危険性があるので、マルチサイトであってもネットワークで有効にせず、個別サイト毎に有効化すればいいだけです。
ネットワークで有効にすると、サイトごとに (wp_)ktaisession テーブルを作るようになっているのですが、環境によっては動いてないようです。
WordPress 3.0 ではカスタム投稿タイプが導入され、ナビゲーションメニューなどもここに入るようになりました。もはやプラグインがテーブルを作ることは好ましくないと思われます。
セッションテーブルのような時々刻々に変わるデータは wp_options に作るのが正しいと思われますので、将来の Ktai Style ではセッションデータを wp_options に持つのがいいのかもしれません。
とはいえ、実装を変更するとしたら Ktai Style 2.x 系統では無理で、3.0 ぐらいになるでしょう。
- トピック「ktai styleでログインが出来ません」には新たに返信することはできません。