CGI::Session::Driver::sqlite - CGI::Session driver for SQLite
| Use Case | Command | Description |
|---|---|---|
| 🔗 Connect using DataSource | $s = CGI::Session->new("driver:sqlite", $sid, {DataSource=>'/my/folder/sessions.sqlt'}); | 📁 Specify a file path for the SQLite database |
| 🔗 Connect using existing DB handle | $s = CGI::Session->new("driver:sqlite", $sid, {Handle=>$dbh}); | 🔌 Reuse an existing DBI database handle |
| 🔧 Custom table/column names | $s = CGI::Session->new('driver:sqlite', undef, {TableName=>'session', IdColName=>'my_id', DataColName=>'my_data', Handle=>$dbh}); | 🎛 Override default session table structure |
$s = CGI::Session->new("driver:sqlite", $sid, {DataSource=>'/my/folder/sessions.sqlt'});
$s = CGI::Session->new("driver:sqlite", $sid, {Handle=>$dbh});
or
$s = CGI::Session->new('driver:sqlite', undef,
{
TableName=>'session',
IdColName=>'my_id',
DataColName=>'my_data',
Handle=>$dbh,
});
sqlite driver stores session data in SQLite files using DBD::SQLite DBI driver. More details see CGI::Session::Driver::DBI, its parent class.
Supported driver arguments are DataSource and Handle. At most only one of these arguments can be set while creating session object.
⚠️ As of version 1.7 of this driver, the third argument is NOT optional. Using a default database in the temporary directory is a security risk since anyone on the machine can create and/or read your session data. If you understand these risks and still want the old behavior, you can set the "DataSource" option to '/tmp/sessions.sqlt'.
None known.
For support and licensing see CGI::Session
perl v5.22.1 2016-01-15 CGI::Session::Driver::sqlite(3pm)
Generated by phpman v4.9.26-5-g7740029 Author: Che Dong Under GNU General Public License
2026-08-24 04:54 @216.73.216.102
CrawledBy Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)