2007年11月7日(水曜日)

セッションテーブルの修復用preload

カテゴリー: - gusagi @ 18時38分16秒

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.

ƤˤϡޤȤդƤޤ

Ȥ

ʤߥȤդ뤳ȤϽޤ

10 queries. 0.009 sec.
Powered by WordPress Module based on WordPress ME & WordPress

〒104-0061 東京都中央区銀座1丁目3番3号 G1ビル7階
お問い合わせ TEL 03-3524-8860

Copyright(c) 2012 RYUS.All Rights Reserved.