セッションテーブルの修復用preload
gusagiです。
今日は、セッションテーブルが壊れてログイン出来ない場合の対処法を書かせて頂きます。
XOOPSでは、セッション情報を{prefix}_sessionというテーブルに保存しています。
(注){prefix}はインストール時に設定するもので、mainfile.php内の[XOOPS_DB_PREFIX]として記述されている値です。
このテーブルが何らかの理由で壊れてしまうことがあるのですが、そうなると管理者も含めて、全てのユーザがログイン出来なくなります。
自分でサーバ管理をしている人の場合は、上記のテーブルを修復すれば良いのですが、レンタルサーバなどでDBを直接弄ることが難しい人もいるかと思います。
そんな場合、XOOPS Cube Legacyをご利用の方でしたら、以下の方法を試してみて下さい
—-
(1)以下のコードをコピーして、repairPreload.class.phpとして保存して下さい。
<?php
include_once dirname( dirname(__FILE__) ) . '/mainfile.php';
$tableName = $xoopsDB->prefix( 'session' );
$sql = "REPAIR TABLE $tableName";
$xoopsDB->queryF( $sql );
(2)保存したファイルを、XOOPS_ROOT_PATH/preload にアップロードして下さい。
(3)サイトのトップページにアクセスして下さい。
(4)アップロードしたrepairPreload.class.phpをサーバから削除して下さい。
—-
以上で、sessionテーブルが修復されます。
注意点として、(3)を行った後は、すぐに(4)を行うようにして下さい。
アップロードしたままですと、逆にセッションテーブルを壊すことになりかねません。
たった5行のプリロードですが、もしよろしければお試し下さい。
RSS feed for comments on this post.
ƤˤϡޤȤդƤޤ
Ȥ
ʤߥȤդ뤳ȤϽޤ