Name

SessionHashLevels — specify the number of levels to hash session directories

SYNOPSIS

integer

DESCRIPTION

This directive combiles with SessionHashLength to configure the number of levels and hash length for the directory structure of file-based sessions. Default is 1. This solves the problem of session IDs passed from CGI::Session or other modules that use a quasi-sequential session ID. You end up placing all sessions in the S/2 directory for a long time, followed by the S/3 directory, etc. A setting of: SessionHashLength 4 SessionHashLevels 1 would break sessions up into separate directories instead of putting all sessions in a huge directory.

DIRECTIVE TYPE AND DEFAULT VALUE

Catalog directive

EXAMPLES

Example: Setting SessionExpire

Put the following in catalog.cfg:

SessionHashLevels  1
SessionHashLength  4

NOTES

The default value of 2, combined with SessionHashLength of 1, creates a directory structure like:

	4
	 +----w
	6
	 +----r
	D
	 +----9
	 +----R
	r
	 +----z
	s
	 +----s
	X
	 +----s
	z
	 +----3

AVAILABILITY

SessionHashLevels is available in Interchange versions:

4.6.0-5.7.0 (git-head)

SOURCE

Interchange 5.7.0:

Source: lib/Vend/Config.pm
Line 724

['SessionHashLevels', 'integer',         2],

Source: lib/Vend/Config.pm
Line 3973 (context shows lines 3973-3980)

sub parse_integer {
my($var, $value) = @_;
$value = hex($value) if $value =~ /^0x[\dA-Fa-f]+$/;
$value = oct($value) if $value =~ /^0[0-7]+$/;
config_error("The $var directive (now set to '$value') must be an integer\n")
  unless $value =~ /^\d+$/;
$value;
}

AUTHORS

Interchange Development Group

SEE ALSO

SessionHashLength(7ic)

DocBook! Interchange!