phpman > man > CGI::Session::Driver::file(3pm)

Markdown | JSON | MCP    

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

Generated by phpman v3.7.12 Author: Che Dong Under GNU General Public License
2026-06-13 06:46 @216.73.216.28
CrawledBy Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)
Valid XHTML 1.0 TransitionalValid CSS!