ADODB セッション
8/2にバージョンが4.91になった際に、セッション周りが新しくなったようです。
http://phplens.com/lens/adodb/docs-adodb.htm#changes
こんな感じで使うようです。
include_once("adodb/session/adodb-session2.php"); $options['table'] = 'mytablename'; ADOdb_Session::config($driver, $host, $user, $password, $database,$options); session_start();
完全に仕様変更してますね・・。
今までだとこんな感じでした。グローバル変数をつかうあたりが嫌な感じでした。
$ADODB_SESSION_DRIVER='mysql'; $ADODB_SESSION_CONNECT='localhost'; $ADODB_SESSION_USER ='scott'; $ADODB_SESSION_PWD ='tiger'; $ADODB_SESSION_DB ='sessiondb'; include('adodb/session/adodb-session.php'); session_start();
includeするファイルがそもそも違うようで、今までのバージョンのも(adodb-session.php)使えます。そのために最近まで気づきませんでした。
テーブル構造も変わってます。mysqlの例ですが
(新)
CREATE TABLE sessions2( sesskey VARCHAR( 64 ) NOT NULL DEFAULT '', expiry TIMESTAMP NOT NULL , expireref VARCHAR( 250 ) DEFAULT '', created TIMESTAMP NOT NULL , modified TIMESTAMP NOT NULL , sessdata LONGTEXT DEFAULT '', PRIMARY KEY ( sesskey ) , INDEX sess2_expiry( expiry ), INDEX sess2_expireref( expireref ) );
(旧)
create table sessions ( SESSKEY char(32) not null, EXPIRY int(11) unsigned not null, EXPIREREF varchar(64), DATA text not null, primary key (sesskey) );
timestampの列ができたのはいいことだとおもいます。
新マニュアル http://phplens.com/lens/adodb/docs-session.htm
旧マニュアル http://phplens.com/lens/adodb/docs-session.old.htm