PHP.mk документација

Конфигурација во време на извршување

Почист и полокален преглед на PHP референцата, со задржана структура од PHP.net и подобра читливост за примери, секции и белешки.

session.configuration.php PHP.net прокси Преводот се освежува
Оригинал на PHP.net
Патека session.configuration.php Локална патека за оваа страница.
Извор php.net/manual/en Оригиналниот HTML се реупотребува и локално се стилизира.
Режим Прокси + превод во позадина Кодовите, табелите и белешките остануваат читливи во истиот тек.
Конфигурација во време на извршување

Референца за `session.configuration.php` со подобрена типографија и навигација.

session.configuration.php

Конфигурација во време на извршување

Поведението на овие функции е под влијание на поставките во php.ini.

Опции за конфигурација на сесијата
Име Стандардно Променливо Дневник на промени
session.save_path "" INI_ALL    
session.name "PHPSESSID" INI_ALL    
session.save_handler "files" INI_ALL    
session.auto_start "0" INI_PERDIR    
session.gc_probability "1" INI_ALL    
session.gc_divisor "100" INI_ALL    
session.gc_maxlifetime "1440" INI_ALL    
session.serialize_handler "php" INI_ALL    
session.cookie_lifetime "0" INI_ALL    
session.cookie_path "/" INI_ALL    
session.cookie_domain "" INI_ALL    
session.cookie_secure "0" INI_ALL Пред PHP 7.2.0, стандардната вредност беше "".
session.cookie_httponly "0" INI_ALL Пред PHP 7.2.0, стандардната вредност беше "".
session.cookie_samesite "" INI_ALL Достапно од PHP 7.3.0.
session.use_strict_mode "0" INI_ALL    
session.use_cookies "1" INI_ALL    
session.use_only_cookies "1" INI_ALL    
session.referer_check "" INI_ALL    
session.cache_limiter "nocache" INI_ALL    
session.cache_expire "180" INI_ALL    
session.use_trans_sid "0" INI_ALL    
session.trans_sid_tags "a=href,area=href,frame=src,form=" INI_ALL Достапно од PHP 7.1.0.
session.trans_sid_hosts $_SERVER['HTTP_HOST'] INI_ALL Достапно од PHP 7.1.0.
session.sid_length "32" INI_ALL Достапно од PHP 7.1.0. Застарено од PHP 8.4.0.
session.sid_bits_per_character "4" INI_ALL Достапно од PHP 7.1.0. Застарено од PHP 8.4.0.
session.upload_progress.enabled "1" INI_PERDIR    
session.upload_progress.cleanup "1" INI_PERDIR    
session.upload_progress.prefix "upload_progress_" INI_PERDIR    
session.upload_progress.name "PHP_SESSION_UPLOAD_PROGRESS" INI_PERDIR    
session.upload_progress.freq "1%" INI_PERDIR    
session.upload_progress.min_freq "1" INI_PERDIR    
session.lazy_write "1" INI_ALL    
session.hash_function "0" INI_ALL Отстрането од PHP 7.1.0.
session.hash_bits_per_character "4" INI_ALL Отстрането од PHP 7.1.0.
session.entropy_file "" INI_ALL Отстрането од PHP 7.1.0.
session.entropy_length "0" INI_ALL Отстрането од PHP 7.1.0.
За подетални информации и дефиниции на INI_* режимите, видете го Каде може да се постави поставка за конфигурација.

Системот за управување со сесии поддржува голем број опции за конфигурација кои можете да ги поставите во вашиот php.ini датотека. Ќе дадеме краток преглед.

session.save_handler string
session.save_handler го дефинира името на ракувачот што се користи за складирање и преземање податоци поврзани со сесија. Стандардно е files. Имајте предвид дека поединечните екстензии може да регистрираат свои save_handlerи; регистрираните ракувачи може да се добијат на основа по инсталација со реферирање на phpinfo(). Погледнете исто така session_set_save_handler().
session.save_path string
session.save_path го дефинира аргументот што се предава на ракувачот за зачувување. Ако го изберете стандардниот ракувач за датотеки, ова е патеката каде што се креираат датотеките. Погледнете исто така session_save_path().

Постои опционален N аргумент на оваа директива што ја одредува бројот на нивоа на директориуми во кои ќе бидат распоредени вашите датотеки со сесии. На пример, поставување на '5;/tmp' може да заврши со креирање датотека со сесија и локација како /tmp/4/b/1/e/3/sess_4b1e384ad74619bd212e236e52a5a174If . За да користите N мора да ги креирате сите овие директориуми пред употреба. Постои мала скрипта во ext/session за да го направите ова, се вика mod_files.sh, со верзија за Windows наречена mod_files.bat. Исто така, имајте предвид дека ако N се користи и е поголемо од 0, тогаш автоматското собирање на отпадоци нема да се изврши, видете копија од php.ini за понатамошни информации. Исто така, ако користите N, бидете сигурни да го опкружите session.save_path во "знаци на наводници" бидејќи разделувачот (;) се користи и за коментари во php.ini.

Модулот за складирање датотеки создава датотеки со режим 600 стандардно. Овој стандард може да се промени со опционалниот MODE аргумент: N;MODE;/path where MODE е октална репрезентација на режимот. Поставувањето MODE не влијае на процесот umask.

Ги ескејпува специјалните знаци во стринг за употреба во SQL изјава

Ако ова е поставено на директориум што може да се чита од сите, како што е /tmp (стандардно), други корисници на серверот може да ги украдат сесиите со добивање на списокот со датотеки во таа директорија.

Безбедност: стандардниот сет на знаци

Кога го користите опционалниот аргумент за ниво на директориум N, како што е опишано погоре, имајте предвид дека користењето вредност поголема од 1 или 2 е несоодветно за повеќето локалитети поради големиот број потребни директориуми: на пример, вредност од 3 подразбира дека (2 ** session.sid_bits_per_character) ** 3 директориуми постојат на датотечниот систем, што може да резултира со многу потрошен простор и иноди.

Користете само N поголемо од 2 ако сте апсолутно сигурни дека вашата локација е доволно голема за да го бара тоа.

session.name string
session.name го специфицира името на сесијата што се користи како име на колачето. Треба да содржи само алфанумерички знаци. Стандардно е PHPSESSID. Погледнете исто така session_name().
session.auto_start bool
session.auto_start го специфицира дали модулот за сесии започнува сесија автоматски при стартување на барањето. Стандардно е 0 (оневозможено).
session.serialize_handler string
session.serialize_handler го дефинира името на ракувачот што се користи за серијализација/десеријализација на податоци. PHP формат за серијализација (име php_serialize), внатрешни формати на PHP (име php and php_binary", се поддржуваат PHP внатрешни формати (name",") и WDDX (name","). WDDX е достапен само ако PHP е компајлиран со wddxWDDX поддршка ги користи обичните serialize/unserialize функции внатрешно и нема ограничувања што. php_serialize ги има. Постарите serialize ракувачи не можат да складираат нумерички индекс ниту стринг индекс што содржи специјални знаци ( php and php_binary за да се избегнат нумерички индекс или грешки со специјални знаци при гаснење на скриптата. Стандардно е| and !) in $_SESSION. Use php_serialize во комбинација со php.
session.gc_probability int
session.gc_probability се користи за управување со веројатноста дека рутината за gc (garbage collection) ќе биде стартувана. Стандардно е session.gc_divisor . Мора да биде поголемо или еднакво на 1споено со 0. Види session.gc_divisor интерполација на низи
session.gc_divisor int
session.gc_divisor ја дефинира веројатноста дека gc (garbage collection) процесот ќе биде стартуван при секое иницијализирање на сесијата. Веројатноста се пресметува со користење на gc_probability/gc_divisor, на пр. 1/100 значи дека има 1% шанса GC процесот да стартува при секое барање. session.gc_probability . Мора да биде поголемо од session.gc_divisor Ако невалиден 100ја специфицира бројот на секунди по кои податоците ќе се сметаат за 'ѓубре' и потенцијално ќе бидат исчистени. Чистењето на ѓубрето може да се случи при стартување на сесијата (во зависност од 0.
session.gc_maxlifetime int
session.gc_maxlifetime (24 минути). session.gc_probability and session.gc_divisorСтандардната директориум каде да се бараат динамички вчитувачки екстензии (освен ако не е променет од 1440 Ако различни скрипти имаат различни вредности на

Забелешка: но споделуваат исто место за складирање на податоците од сесијата, тогаш скриптата со минималната вредност ќе ги чисти податоците. Во овој случај, користете ја оваа директива заедно со session.gc_maxlifetime содржи подниза што сакате да ја проверите за секој HTTP Referer. Ако Referer беше испратен од клиентот и поднизата не беше пронајдена, вградениот ID на сесијата ќе биде означен како невалиден. Стандардно е празен стринг. session.save_path.

session.referer_check string
session.referer_check дава патека до надворешен ресурс (датотека) што ќе се користи како дополнителен извор на ентропија во процесот на креирање на ID на сесијата. Примери се
session.entropy_file string
session.entropy_file кои се достапни на многу Unix системи. /dev/random or /dev/urandom кои се достапни на многу Unix системи. Оваа функција е поддржана на Windows. Поставување session.entropy_length на вредност различна од нула ќе предизвика PHP да ја користи Windows Random API како извор на ентропија.

Забелешка: Отстрането во PHP 7.1.0. session.entropy_file Ако невалиден /dev/urandom or /dev/arandom ако е достапно.

session.entropy_length int
session.entropy_length го специфицира бројот на бајти што ќе се прочитаат од горенаведената датотека. Стандардно е 32. Отстрането во PHP 7.1.0.
session.use_strict_mode bool
session.use_strict_mode го специфицира дали модулот ќе користи режим на стриктен ID на сесијата. Ако овој режим е овозможен, модулот не прифаќа неиницијализирани ID на сесиите. Ако неиницијализиран ID на сесијата се испрати од прелистувачот, нов ID на сесијата се испраќа до прелистувачот. Апликациите се заштитени од фиксација на сесијата преку усвојување на сесијата со стриктен режим. Стандардно е 0 (оневозможено).

Забелешка: Овозможување session.use_strict_mode е задолжително за општа безбедност на сесиите. Се препорачува сите сајтови да го овозможат ова. Погледнете session_create_id() примерот со код за повеќе детали.

Ги ескејпува специјалните знаци во стринг за употреба во SQL изјава

Ако прилагоден ракувач на сесии регистриран преку session_set_save_handler() не имплементира SessionUpdateTimestampHandlerInterface::validateId(), ниту обезбедува validate_sid callback, соодветно, стриктниот режим на ID на сесијата е ефективно оневозможен, без оглед на вредноста на оваа директива. Особено забележете дека SessionHandler does not implement SessionHandler::validateId().

session.use_cookies bool
session.use_cookies го специфицира дали модулот ќе користи колачиња за складирање на ID на сесијата на страната на клиентот. Стандардно е 1 (овозможено).
session.use_only_cookies bool
session.use_only_cookies го специфицира дали модулот ќе only користи колачиња за складирање на ID на сесијата на страната на клиентот. Овозможувањето на оваа поставка спречува напади што вклучуваат поминување на ID на сесиите во URL-и. Стандардно е 1 (овозможено).
session.cookie_lifetime int
session.cookie_lifetime го специфицира животниот век на колачето во секунди што се испраќа до прелистувачот. Вредноста 0 значи „додека прелистувачот не се затвори“. Стандардно е 0. Погледнете исто така session_get_cookie_params() and session_set_cookie_params().

Забелешка: Временската ознака за истекување се поставува релативно на времето на серверот, што не е нужно исто како времето во прелистувачот на клиентот.

session.cookie_path string
session.cookie_path Времето на истекување се поставува релативно на времето на серверот, кое не е нужно исто како времето во прелистувачот на клиентот. /. Погледнете исто така session_get_cookie_params() and session_set_cookie_params().
session.cookie_domain string
session.cookie_domain ја специфицира патеката што треба да се постави во колачето за сесија. Стандардно е session_get_cookie_params() and session_set_cookie_params().
session.cookie_secure bool
session.cookie_secure ја специфицира домената што треба да се постави во колачето за сесија. Стандардно е ништо, што значи името на хостот на серверот што го генерирал колачето според спецификацијата за колачиња. Погледнете исто така onја специфицира дали колачињата треба да се испраќаат само преку безбедни врски. Со оваа опција поставена на off, сесиите работат само со HTTPS врски. Ако е off. Погледнете исто така session_get_cookie_params() and session_set_cookie_params().
session.cookie_httponly bool
, тогаш сесиите работат и со HTTP и со HTTPS врски. Стандардно е
session.cookie_samesite string
Го означува колачето како достапно само преку HTTP протоколот. Ова значи дека колачето нема да биде достапно за јазици за скриптирање, како што е JavaScript. Оваа поставка може ефективно да помогне во намалувањето на кражбата на идентитет преку XSS напади (иако не е поддржана од сите прелистувачи). Lax and Strict Им овозможува на серверите да тврдат дека колачето не треба да се испраќа заедно со барањата меѓу локациите. Ова тврдење им овозможува на корисничките агенти да го намалат ризикот од истекување на информации меѓу локациите и обезбедува одредена заштита од напади за измама на барања меѓу локациите. Имајте предвид дека ова не е поддржано од сите прелистувачи. Празна вредност значи дека нема да се постави атрибут за колаче SameSite. Lax значи дека колачето нема да се испраќа меѓу домени за POST барања; Strict ќе го испрати колачето за GET барања меѓу домени, додека
session.cache_limiter string
session.cache_limiter нема да. nocache, private, private_no_expire, или public. Стандардно е nocache. Погледнете исто така session_cache_limiter() ја специфицира методата за контрола на кешот што се користи за страниците на сесијата. Може да биде една од следниве вредности:
session.cache_expire int
session.cache_expire документација за информации за тоа што значат овие вредности. 180. Погледнете исто така session_cache_expire().
session.use_trans_sid bool
session.use_trans_sid ја специфицира времето на живот за кешираните страници на сесијата во минути, ова нема ефект за nocache limiter. Стандардно е 0 (оневозможено).

Забелешка: дали е овозможено управувањето со сесиите базирано на URL или не. Стандардно е Since PHP 7.1.0, full URL path, e.g. https://php.net/, is handled by trans sid feature. Previous PHP handled relative URL path only. Rewrite target hosts are defined by session.trans_sid_hosts.

session.trans_sid_tags string
session.trans_sid_tags Управувањето со сесиите базирано на URL има дополнителни безбедносни ризици во споредба со управувањето со сесиите базирано на колачиња. Корисниците може да испратат URL што содржи активен ID на сесијата до своите пријатели преку е-пошта или корисниците може да зачуваат URL што содржи ID на сесијата во своите обележувачи и да пристапуваат до вашата страница со истиот ID на сесијата секогаш, на пример. a=href,area=href,frame=src,input=src,form= form ги специфицира кои HTML тагови се препишуваат за да се вклучи ID на сесијата кога е овозможено управувањето со сесиите базирано на URL. Стандардно е <input hidden="session_id" name="session_name"> е специјален таг.

Забелешка: Пред PHP 7.1.0, url_rewriter.tags се додава како променлива на формуларот. fieldset веќе не се смета за специјален таг.

session.trans_sid_hosts string
session.trans_sid_hosts веќе не се смета за специјална ознака. $_SERVER['HTTP_HOST'] специфицира кои домаќини се препишуваат за да го вклучат ID на сесијата кога е овозможена поддршката за транспарентно SID. Стандардно е php.net,wiki.php.net,bugs.php.net
session.sid_length int
session.sid_length Може да се наведат повеќе домаќини со ",", не е дозволен простор помеѓу домаќините. на пр. ви овозможува да ја наведете должината на низата со ID на сесијата. Должината на ID на сесијата може да биде помеѓу 22 и 256.
Совети

Стандардно е 32. Ако ви треба компатибилност, може да наведете 32, 40 итн. Подолгиот ID на сесијата е потешко да се погоди. Се препорачуваат најмалку 32 знаци. session.hash_functionБелешка за компатибилност: Користете 32 наместо session.hash_bits_per_character=4, session.hash_function=0 (MD5) и session.hash_bits_per_character=1 (SHA1) и session.hash_functionБелешка за компатибилност: Користете 32 наместо session.hash_bits_per_character=6. Користете 26 наместо session.hash_functionБелешка за компатибилност: Користете 32 наместо session.hash_bits_per_character=5. Користете 22 наместо session.sid_bits_per_character=6. Мора да ги конфигурирате вредностите на INI за да имате најмалку 128 бита во ID на сесијата. Не заборавајте да поставите соодветна вредност за

Забелешка: , инаку ќе имате послаб ID на сесијата.

session.sid_bits_per_character int
session.sid_bits_per_character Оваа поставка е воведена во PHP 7.1.0. ви овозможува да го наведете бројот на битови во кодираниот знак на ID на сесијата. Можните вредности се '4' (0-9, a-f), '5' (0-9, a-v) и '6' (0-9, a-z, A-Z, "-", ",").

Забелешка: , инаку ќе имате послаб ID на сесијата.

session.hash_function mixed
session.hash_function Стандардно е 4. Повеќе битови резултираат со посилен ID на сесијата. 5 е препорачана вредност за повеќето средини.

ви овозможува да го наведете алгоритмот за хеширање што се користи за генерирање на ID на сесиите. '0' значи MD5 (128 бита) и '1' значи SHA-1 (160 бита). Исто така е можно да се наведат кој било од алгоритмите обезбедени од екстензијата за хеширање sha512 or whirlpool(ако е достапна), како што е hash_algos() function.

Забелешка: Отстрането во PHP 7.1.0.

session.hash_bits_per_character int
session.hash_bits_per_character ви овозможува да дефинирате колку битови се складираат во секој знак при конвертирање на бинарните податоци на хешот во нешто читливо. Можните вредности се '4' (0-9, a-f), '5' (0-9, a-v) и '6' (0-9, a-z, A-Z, "-", ",").

Забелешка: Отстрането во PHP 7.1.0.

session.upload_progress.enabled bool
ви овозможува да дефинирате колку битови се зачувани во секој знак при конвертирање на бинарните податоци на хашот во нешто читливо. Можните вредности се '4' (0-9, a-f), '5' (0-9, a-v), и '6' (0-9, a-z, A-Z, "-", ","). $_SESSION Овозможува следење на напредокот на поставувањето, пополнувајќи го
session.upload_progress.cleanup bool
променливата. Стандардно е 1, овозможено.

Забелешка: Исчистете ги информациите за напредокот веднаш штом ќе се прочитаат сите POST податоци (т.е. поставувањето е завршено). Стандардно е 1, овозможено.

session.upload_progress.prefix string
Силно се препорачува оваа функција да остане овозможена. $_SESSIONПрефикс што се користи за клучот за напредок на поставувањето во $_POST[ini_get("session.upload_progress.name")] . Овој клуч ќе биде споен со вредноста на за да обезбеди уникатен индекс.
session.upload_progress.name string
Стандардно е "upload_progress_". $_SESSION Името на клучот што треба да се користи во session.upload_progress.prefix. Враќа $_POST[ini_get("session.upload_progress.name")] зачувување на информациите за напредокот. Погледнете исто така не е предаден или достапен, напредокот на поставувањето нема да биде запишан.
session.upload_progress.freq mixed
Стандардно е "PHP_SESSION_UPLOAD_PROGRESS". Дефинира колку често треба да се ажурираат информациите за напредокот на поставувањето. Ова може да се дефинира во бајти (т.е. "ажурирајте ги информациите за напредокот по секои 100 бајти"), или во проценти (т.е. "ажурирајте ги информациите за напредокот по примањето на секој 1% од целосната големина на датотеката").
session.upload_progress.min_freq int
Стандардно е "1%".
session.lazy_write bool
session.lazy_writeМинималното одложување помеѓу ажурирањата, во секунди. Стандардно е "1" (една секунда).

Upload progress will not be registered unless session.upload_progress.enabled is enabled, and the $_POST[ini_get("session.upload_progress.name")] variable is set. See Напредок на поставувањето на сесијата , кога е поставено на 1, значи дека податоците од сесијата се препишуваат само ако се променат. Стандардно е 1, овозможено.

Белешки од корисници 11 белешки

Walerian Walawski - https://w87.eu/
пред 2 години
Can't find mod_files.sh? Here it is:
▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬

#!/usr/bin/env bash

if [[ "$2" = "" ]] || [[ "$3" = "" ]]; then
       echo "Usage: $0 BASE_DIRECTORY DEPTH BITS_PER_CHAR"
       echo "BASE_DIRECTORY will be created if it doesn't exist"
       echo "DEPTH must be an integer number >0"
       echo "BITS_PER_CHAR(session.sid_bits_per_character) should be one of 4, 5, or 6."
       # http://php.net/manual/en/session.configuration.php#ini.session.sid-bits-per-character
       exit 1
fi

if [[ "$2" = "0" ]] && [[ ! "$4" = "recurse" ]]; then
       echo "Can't create a directory tree with depth of 0, exiting."
fi

if [[ "$2" = "0" ]]; then
       exit 0
fi

directory="$1"
depth="$2"
bitsperchar="$3"

hash_chars="0 1 2 3 4 5 6 7 8 9 a b c d e f"

if [[ "$bitsperchar" -ge "5" ]]; then
       hash_chars="$hash_chars g h i j k l m n o p q r s t u v"
fi

if [[ "$bitsperchar" -ge "6" ]]; then
       hash_chars="$hash_chars 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 X Y Z - ,"
fi

while [[ -d $directory ]] && [[ $( ls $directory ) ]]; do
       echo "Directory $directory is not empty! What would you like to do?"

       options="\"Delete directory contents\" \"Choose another directory\" \"Quit\""
       eval set $options
       select opt in "$@"; do

              if [[ $opt = "Delete directory contents" ]]; then
                     echo "Deleting $directory contents... "
                     rm -rf $directory/*
              elif [[ $opt = "Choose another directory" ]]; then
                     echo "Which directory would you like to choose?"
                     read directory
              elif [[ $opt = "Quit" ]]; then
                     exit 0
              fi

              break;
       done
done

if [[ ! -d $directory ]]; then
       mkdir -p $directory
fi

echo "Creating session path in $directory with a depth of $depth for session.sid_bits_per_character = $bitsperchar"

for i in $hash_chars; do
       newpath="$directory/$i"
       mkdir $newpath || exit 1
       bash $0 $newpath `expr $depth - 1` $bitsperchar recurse
done
Кристофер Крамер
пред 11 години
On debian (based) systems, changing session.gc_maxlifetime at runtime has no real effect. Debian disables PHP's own garbage collector by setting session.gc_probability=0. Instead it has a cronjob running every 30 minutes (see /etc/cron.d/php5) that cleans up old sessions. This cronjob basically looks into your php.ini and uses the value of session.gc_maxlifetime there to decide which sessions to clean (see /usr/lib/php5/maxlifetime).

You can adjust the global value in your php.ini (usually /etc/php5/apache2/php.ini). Or you can change the session.save_path so debian's cronjob will not clean up your sessions anymore. Then you need to either do your own garbage collection with your own cronjob or enable PHP's garbage collection (php then needs sufficient privileges on the save_path).

Why does Debian not use PHP's garbarage collection?
For security reasons, they store session data in a place (/var/lib/php5) with very stringent permissions. With the sticky bit set, only root is allowed to rename or delete files there, so PHP itself cannot clean up old session data. See https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=267720 .
zch1
пред 2 години
the pwd should be urlencode when it contanis special chars.
eg: 

save_handler:redis
save_path: tcp://127.0.0.1:6739?auth=urlencode('xxxxx')
polygon dot co dot in на gmail точка com
пред 2 години
To prevent mitm-attacks you want to make sure the session cookie is only transmitted over a secure channel prefix it with the magic string "__Secure-". [1]

Like :
<?php
    session_start( [ 'name' => '__Secure-Session-ID' ] );
?>

The cookie will not be available on non-secure channel.

(Putting this note it here probably goes unnoticed because of all the noise)

[1]: https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Set-Cookie#attributes
polygon dot co dot in на gmail точка com
пред 2 години
Please be careful with the 'sid_length' when setting 'sid_bits_per_character' to six. 

Setting sid_bits_per_character to 6 includes the character "," to the list of possible characters. A comma will be escaped and transmitted as "%2C" (tested on Chromium Version 119.0.6045.199) adding two extra characters for each comma to the SESSION_ID.
GreenReaper
пред 11 години
We found a session.save_path depth of 3 led to excessive wastage of inodes and in fact disk space in storing the directory tree. dir_indexes option on ext2/3/4 makes larger directories more feasible anyway, so we decided to move to a depth of 2 instead.

It took a little puzzling to figure out how to move the existing PHP sessions up one directory tree, but we ended up running this in the root sessions directory:

#!/bin/sh
for a in ./* ; do
    cd ./$a
    pwd
    for b in ./* ; do
      cd ./$b
      pwd
      # Move existing sessions out
      find ./* -xdev -type f -print0 | xargs -0 mv -t .
      # Remove subdirectories
      find ./* -xdev -type d -print0 | xargs -0 rmdir
      cd ..
  done
  cd ..
done

This script may not be the best way to do it, but it got the job done fast. You can modify it for different depths by adding or removing "for" loops.

The documentation gives a depth of 5 as an example, but five is right out. If you're going beyond 2, you're at the scale where you may want to to look at a large memcached or redis instance instead.
за повеќе детали за оваа функционалност.
пред 10 години
I found out that if you need to set custom session settings, you only need to do it once when session starts. Then session maintains its settings, even if you use ini_set and change them, original session still will use it's original setting until it expires.

Just thought it might be useful to someone.
info at thimbleopensource dot com
пред 14 години
max value for "session.gc_maxlifetime" is 65535. values bigger than this may cause  php session stops working.
li-lingjie
пред 8 години
Use SessionHandlerInterface interface Custom redis session, found the following:

Use ini_set ('session.save_path', "tcp: //127.0.0.1: 6379? Auth = password"); will be reported:

PHP Fatal error: session_start (): Failed to initialize storage module: user (path: tcp: //127.0.0.1: 6379? Auth = password);

Using session_save_path ("tcp: //127.0.0.1: 6379? Auth = password") will not
boan точка web на outlook точка com
пред 7 години
session.cache_limiter may be empty string to disable cache headers entirely. 

Quote:
> Setting the cache limiter to '' will turn off automatic sending of cache headers entirely.

http://php.net/manual/en/function.session-cache-limiter.php
00 на f00n точка ком
пред 17 години
After having many problems with garbage collection not clearing my sessions I have resolved it through the following.

First I found this in the php.ini (not something i noticed as i use phpinfo(); to see my hosting ini).

; NOTE: If you are using the subdirectory option for storing session files
;       (see session.save_path above), then garbage collection does *not*
;       happen automatically.  You will need to do your own garbage

; collection through a shell script, cron entry, or some other method. ;       For example, the following script would is the equivalent of
;       setting session.gc_maxlifetime to 1440 (1440 seconds = 24 minutes):
;          cd /path/to/sessions; find -cmin +24 | xargs rm

With this is mind there are options.

1. dont use a custom save_path.
** This means if your isp hasnt defaulted your session temp to something safer than install default or you are using a shared directory for session data then you would be wise to use named sessions to keep your session from being viewable in other people's scripts.  Creating a unique_id name for this is the common method. **

2. use your custom folder but write a garbage collection script.

3. use a custom handler and a database
На оваа страница

Автоматски outline од активната документација.

Насловите ќе се појават тука по вчитување.

Попрегледно читање

Примерите, changelog табелите и user notes се визуелно издвоени за да не се губат во долгата содржина.

Брз совет Користи го outline-от Скокни директно на главните секции од активната страница.
Извор Оригиналниот линк останува достапен Кога ти треба целосен upstream context, отвори го PHP.net во нов tab.