note 125529 added to session.configuration

From: Date: Sat, 21 Nov 2020 01:38:32 +0000
Subject: note 125529 added to session.configuration
Groups: php.notes 
Request: Send a blank email to php-notes+get-215873@lists.php.net to get a copy of this message
Being unable to find an actual copy of mod_files.sh, and seeing lots of complaints/bug fix requests for it, here's one that works. It gets all its parameters from PHP.INI, so you don't have the opportunity to mess up: #!/bin/bash # # Creates directories for PHP session storage. # Replaces the one that "comes with" PHP, which (a) doesn't always come with it # and (b) doesn't work so great. # # This version takes no parameters, and uses the values in PHP.INI (if it # can find it). # # Works in OS-X and CentOS (and probably all other) Linux. # # Feb '13 by Jeff Levene. [[ $# -gt 0 ]] && echo "$0 requires NO command-line parameters. It gets does whatever is called for in the PHP.INI file (if it can find it). " && exit 1 # Find the PHP.INI file, if possible: phpIni=/usr/local/lib/php.ini # Default PHP.INI location [[ ! -f "$phpIni" ]] && phpIni=/etc/php.ini # Secondary location [[ ! -f "$phpIni" ]] && phpIni= # Found it? # Outputs the given (as $1) parameter from the PHP.INI file: # The "empty" brackets have a SPACE and a TAB in them. # PhpConfigParam() { [[ ! "$phpIni" ]] && return # Get the line from the INI file: varLine=grep "^[ ]*$1[ ]*=" "$phpIni" # Extract the value: value=expr "$varLine" : ".*$1[ ]*=[ ]*['\"]*\([^'\"]*\)" echo "$value" } if [[ "$phpIni" ]] then savePath=PhpConfigParam session.save_path # If there's a number and semicolon at the front, remove them: dirDepth=expr "$savePath" : '\([0-9]*\)' [[ "$dirDepth" ]] && savePath=expr "$savePath" : '[0-9]*;\(.*\)' || dirDepth=0 bits=PhpConfigParam session.hash_bits_per_character case "x$bits" in x) echo "hash_bits_per_character not defined. Not running." ; exit 2 ;; x4) alphabet='0 1 2 3 4 5 6 7 8 9 a b c d e f' ;; x5) alphabet='0 1 2 3 4 5 6 7 8 9 a b c d e f g h i j k l m n o p q r s t u v' ;; x6) alphabet='0 1 2 3 4 5 6 7 8 9 a b c d e f g h i j k l m n o p q r s t u v' alphabet="$alphabet w x y z A B C D E F G H I J K L M N O P Q R S T U V W" alphabet="$alphabet X Y Z - ," ;; *) echo "unrecognized hash_bits_per_character. Not running." ; exit 2 ;; esac else echo "Cannot find the PHP.INI file. Not running. Sorry." exit 2 fi # The depth of directories to create is $1. 0 means just create the named # directory. Directory to start with is $2. # # Used recursively, so variables must be "local". doDir() { local dir="$2" if [[ -d "$dir" ]] then echo "Directory '$dir' already exists. No problem." elif [[ -f "$dir" ]] then echo "FILE '$dir' exists. Aborting." ; exit 2 else if mkdir "$dir" then echo "Directory '$dir' created." else echo "Cannot create directory '$dir'. Aborting." ; exit 2 fi fi chmod a+rwx "$dir" if [[ $1 -gt 0 ]] then local depth=$(( $1 - 1 )) for letter in $alphabet do doDir $depth "$dir/$letter" done fi } echo "Running with savePath='$savePath', dirDepth=$dirDepth, and bitsPerCharacter=$bits." sleep 3 doDir $dirDepth "$savePath" exit 0 Source: https://www.el7lwa.com ---- Server IP: 45.112.84.4 Probable Submitter: 185.85.3.174 (proxied: 196.156.162.241) ---- Manual Page -- http://php.net/manual/en/session.configuration.php Edit -- https://master.php.net/note/edit/125529 Del: integrated -- https://master.php.net/note/delete/125529/integrated Del: useless -- https://master.php.net/note/delete/125529/useless Del: bad code -- https://master.php.net/note/delete/125529/bad+code Del: spam -- https://master.php.net/note/delete/125529/spam Del: non-english -- https://master.php.net/note/delete/125529/non-english Del: in docs -- https://master.php.net/note/delete/125529/in+docs Del: other reasons-- https://master.php.net/note/delete/125529 Reject -- https://master.php.net/note/reject/125529 Search -- https://master.php.net/manage/user-notes.php

« previous php.notes (#215873) next »