SessionHashLevels — specify the number of levels to hash session directories
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.
Example: Setting SessionExpire
Put the following in catalog.cfg
:
SessionHashLevels 1 SessionHashLength 4
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
Interchange 5.9.0:
Source: lib/Vend/Config.pm
Line 3992 (context shows lines 3992-3999)
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; }