Linux and UNIX Man Pages

Linux & Unix Commands - Search Man Pages

cgi::session::driver::file(3pm) [debian man page]

CGI::Session::Driver::file(3pm) 			User Contributed Perl Documentation			   CGI::Session::Driver::file(3pm)

NAME
CGI::Session::Driver::file - Default CGI::Session driver SYNOPSIS
$s = CGI::Session->new(); $s = CGI::Session->new("driver:file", $sid); $s = CGI::Session->new("driver:file", $sid, {Directory=>'/tmp'}); DESCRIPTION
When CGI::Session object is created without explicitly setting driver, file will be assumed. file - driver will store session data in plain files, where each session will be stored in a separate file. Naming conventions of session files are defined by $CGI::Session::Driver::file::FileName global variable. Default value of this variable is cgisess_%s, where %s will be replaced with respective session ID. Should you wish to set your own FileName template, do so before requesting for session object: use CGI::Session::Driver::file; # This line is mandatory. # Time passes... $CGI::Session::Driver::file::FileName = "%s.dat"; $s = CGI::Session->new(); For backwards compatibility with 3.x, you can also use the variable name $CGI::Session::File::FileName, which will override the one above. DRIVER ARGUMENTS If you wish to specify a session directory, use the Directory option, which denotes location of the directory where session ids are to be kept. If Directory is not set, defaults to whatever File::Spec->tmpdir() returns. So all the three lines in the SYNOPSIS section of this manual produce the same result on a UNIX machine. If specified Directory does not exist, all necessary directory hierarchy will be created. By default, sessions are created with a umask of 0660. If you wish to change the umask for a session, pass a UMask option with an octal representation of the umask you would like for said session. NOTES
If your OS doesn't support flock, you should understand the risks of going without locking the session files. Since sessions tend to be used in environments where race conditions may occur due to concurrent access of files by different processes, locking tends to be seen as a good and very necessary thing. If you still want to use this driver but don't want flock, set $CGI::Session::Driver::file::NoFlock to 1 or pass "NoFlock => 1" and this driver will operate without locks. LICENSING
For support and licensing see CGI::Session perl v5.12.4 2011-07-08 CGI::Session::Driver::file(3pm)

Check Out this Related Man Page

CGI::Session::Driver::mysql(3)				User Contributed Perl Documentation			    CGI::Session::Driver::mysql(3)

NAME
CGI::Session::Driver::mysql - CGI::Session driver for MySQL database SYNOPSIS
$s = new CGI::Session( 'driver:mysql', $sid); $s = new CGI::Session( 'driver:mysql', $sid, { DataSource => 'dbi:mysql:test', User => 'sherzodr', Password => 'hello' }); $s = new CGI::Session( 'driver:mysql', $sid, { Handle => $dbh } ); DESCRIPTION
mysql stores session records in a MySQL table. For details see CGI::Session::Driver::DBI, its parent class. It's especially important for the MySQL driver that the session ID column be defined as a primary key, or at least "unique", like this: CREATE TABLE sessions ( id CHAR(32) NOT NULL PRIMARY KEY, a_session TEXT NOT NULL ); To use different column names, change the 'create table' statement, and then simply do this: $s = new CGI::Session('driver:mysql', undef, { TableName=>'session', IdColName=>'my_id', DataColName=>'my_data', DataSource=>'dbi:mysql:project', }); or $s = new CGI::Session('driver:mysql', undef, { TableName=>'session', IdColName=>'my_id', DataColName=>'my_data', Handle=>$dbh, }); DRIVER ARGUMENTS mysql driver supports all the arguments documented in CGI::Session::Driver::DBI. In addition, DataSource argument can optionally leave leading "dbi:mysql:" string out: $s = new CGI::Session( 'driver:mysql', $sid, {DataSource=>'shopping_cart'}); # is the same as: $s = new CGI::Session( 'driver:mysql', $sid, {DataSource=>'dbi:mysql:shopping_cart'}); BACKWARDS COMPATIBILITY As of V 4.30, the global variable $CGI::Session::MySQL::TABLE_NAME cannot be used to set the session table's name. This is due to changes in CGI::Session::Driver's new() method, which now allows the table's name to be changed (as well as allowing both the 'id' column name and the 'a_session' column name to be changed). See the documentation for CGI::Session::Driver::DBI for details. In particular, the new syntax for "new()" applies to all database drivers, whereas the old - and bad - global variable method only applied to MySQL. Alternately, call $session -> table_name('new_name') just after creating the session object if you wish to change the session table's name. LICENSING
For support and licensing see CGI::Session. perl v5.16.3 2008-07-16 CGI::Session::Driver::mysql(3)
Man Page