読者です 読者をやめる 読者になる 読者になる

Apache::Sessionモジュール使っていて、ハマっていたこと

Apache::Session::MySQLとか使って、セッションの新規作成でエラーが出て、ハマっていました。

まぁ、いつもながらちゃんと理解していないで、使い始めるため。というか使いながら、理解するのが俺流?かな。

エラーは下記の通り。

Can't connect to data source '' because I can't work out what driver to use 
(it doesn't seem to contain a 'dbi:driver:' prefix and the DBI_DRIVER env var is not set) 
at /〜/Apache/Session/Lock/MySQL.pm line 36

最初は、まずエラーで検索しましたが、このエラーに対する対策みたいなのはなし。

一日悩んで、ちゃんと参考にしているサイトとかに載っているコードを忠実に書き写したら、動いた。

自分の場合何が間違っていたかというと。

tie my %session, 'Apache::Session::MySQL', $session_id, {
    DataSource => 'dbi::mysql::sessions',
    Handle     => $db,
#この次が抜けていた↓
    LockHandle => $db,
};

LockHandle => $dbが抜けていたため、エラーになってた。

よし!