In case, you are wondering why your sessions are "killed" after 1440 seconds, take a look at session.gc_maxlifetime. It's value is used in memcached expiration field according to memcache protocol rules. Also, do not forget about cookie expiration timeКонфигурација во време на извршување
Почист и полокален преглед на PHP референцата, со задржана структура од PHP.net и подобра читливост за примери, секции и белешки.
Конфигурација во време на извршување
Референца за `memcached.configuration.php` со подобрена типографија и навигација.
Конфигурација во време на извршување
Поведението на овие функции е под влијание на поставките во php.ini.
| Име | Стандардно | Променливо | Дневник на промени |
|---|---|---|---|
| memcached.sess_locking | На | INI_ALL |
Достапно од memcached 0.1.0. |
| memcached.sess_consistent_hash | На | INI_ALL |
Достапно од memcached 2.1.0. Стандардна вредност е On од memcached 3.0.0. |
| memcached.sess_binary | Исклучено | INI_ALL |
Достапно од memcached 2.0.0. Заменето со memcached.sess_binary_protocol од memcached 3.0.0. |
| memcached.sess_lock_wait | 150000 | INI_ALL |
Достапно од memcached 0.1.0. Отстрането од memcached 3.0.0. |
| memcached.sess_prefix | memc.sess.key. | INI_ALL |
Достапно од memcached 0.1.0. |
| memcached.sess_number_of_replicas | 0 | INI_ALL |
Достапно од memcached 2.1.0. |
| memcached.sess_randomize_replica_read | Исклучено | INI_ALL |
Достапно од memcached 2.1.0. |
| memcached.sess_remove_failed | На | INI_ALL |
Достапно од memcached 2.1.0. Заменето со memcached.sess_remove_failed_servers од memcached 3.0.0. |
| memcached.compression_type | fastlz | INI_ALL |
Достапно од memcached 0.1.0. |
| memcached.compression_factor | 1.3 | INI_ALL |
Достапно од memcached 0.1.0. |
| memcached.compression_threshold | 2000 | INI_ALL |
Достапно од memcached 0.1.0. |
| memcached.serializer | igbinary | INI_ALL |
Достапно од memcached 0.1.0. |
| memcached.use_sasl | Исклучено | INI_ALL |
Достапно од memcached 2.2.0. Отстрането од memcached 3.0.0. |
| memcached.default_binary_protocol | Исклучено | INI_ALL |
Достапно од memcached 3.0.0. |
| memcached.default_connect_timeout | 0 | INI_ALL |
Достапно од memcached 3.0.0. |
| memcached.default_consistent_hash | Исклучено | INI_ALL |
Достапно од memcached 3.0.0. |
| memcached.sess_binary_protocol | На | INI_ALL |
Достапно од memcached 3.0.0. Замени memcached.sess_binary. |
| memcached.sess_connect_timeout | 1000 | INI_ALL |
Достапно од memcached 2.2.0. |
| memcached.sess_consistent_hash_type | ketama | INI_ALL |
Достапно од memcached 3.1.0. |
| memcached.sess_lock_expire | 0 | INI_ALL |
Достапно од memcached 2.2.0. |
| memcached.sess_lock_retries | 5 | INI_ALL |
Достапно од memcached 3.0.0. |
| memcached.sess_lock_wait_max | 150 | INI_ALL |
Достапно од memcached 3.0.0. Стандардна вредност 150 од memcached 3.1.0 (претходно 2000). |
| memcached.sess_lock_wait_min | 150 | INI_ALL |
Достапно од memcached 3.0.0. Стандардна вредност 150 од memcached 3.1.0 (претходно 1000). |
| memcached.sess_persistent | Исклучено | INI_ALL |
Достапно од memcached 3.0.0. |
| memcached.sess_remove_failed_servers | Исклучено | INI_ALL |
Достапно од memcached 3.0.0. Замени memcached.sess_remove_failed. |
| memcached.sess_server_failure_limit | 0 | INI_ALL |
Достапно од memcached 3.0.0. |
| memcached.sess_sasl_password | null | INI_ALL |
Достапно од memcached 2.2.0. |
| memcached.sess_sasl_username | null | INI_ALL |
Достапно од memcached 2.2.0. |
| memcached.store_retry_count | 0 | INI_ALL |
Достапно од memcached 2.2.0. Стандардна вредност 0 од memcached 3.2.0 (претходно 2).
|
Еве кратко објаснување на директивите за конфигурација.
-
memcached.sess_lockingbool -
Користи заклучување на сесијата. Валидни вредности:
On,Off, стандардно еOn. -
memcached.sess_consistent_hashbool -
Ако е поставено на
On, се користи конзистентно хеширање (libketama) за управување со сесии. Кога се користи конзистентно хеширање, може да се додадат или отстранат јазли за кеширање без премногу да се нарушат постоечките клучеви. Стандардно еOn. -
memcached.sess_binarybool -
Use memcached session binary mode. Libmemcached replicas only work if binary mode is enabled. The default is
Off. -
memcached.sess_lock_waitint -
Користете бинарен режим за memcached сесии. Libmemcached репликите работат само ако е овозможен бинарен режим. Стандардно е
0Време на чекање за повторен обид на заклучување на сесијата во микросекунди. Внимавајте при поставување на оваа вредност. Валидни вредности се цели броеви, каде150000. -
memcached.sess_prefixstring -
се толкува како стандардна вредност. Негативните вредности резултираат со намалено заклучување на обид за заклучување. Стандардно е
memc.sess.key. -
memcached.sess_number_of_replicasint -
Префикс на клучеви за memcached сесии. Валидни вредности се низи помали од 219 бајти. Стандардната вредност е
sess_remove_failed_serversЗапиши податоци на број дополнителни memcached сервери. Ова е „HA за сиромашни“ како што го нарекува libmemcached. Ако оваа вредност е позитивна и0. -
memcached.sess_randomize_replica_readbool -
е овозможено кога memcached сервер ќе откаже, сесијата ќе продолжи да биде достапна од реплика. Сепак, ако меморискиот сервер што откажал повторно стане достапен, тој ќе ја прочита сесијата од таму, што може да содржи стари податоци или воопшто да нема податоци. Стандардно е
-
memcached.sess_remove_failedint -
Случајно читање на memcached сесијата од реплика.
-
memcached.compression_typestring -
Дозволи автоматско отстранување на memcached сервер што откажал.
fastlz,zlibПоставете го типот на компресија, валидни вредности се:fastlz. -
memcached.compression_factorfloat -
. Стандардно е
plain_len > comp_len * factorСпецифицира каков тип на приватен клуч да се креира. Ова може да биде еден од1.3Фактор на компресија. Зачувај компресирана вредност само ако факторот на компресија (заштеда) го надминува поставениот лимит. Зачувај компресирано ако: -
memcached.compression_thresholdint -
(23% заштеда на простор).
2000bytes. -
memcached.serializerstring -
Праг на компресија. Не компресирајте серијализирани вредности под овој праг. Стандардно е
php,igbinary,json,json_array,msgpack.- json
-
Поставете го стандардниот серијализатор за нови memcached објекти. Валидни вредности се:
- json_array
-
за листа на сите овие функции и соодветните
jsonСтандардно PHP JSON кодирање. Овој серијализатор е брз и компактен, но работи само на UTF-8 кодирани податоци и не ја имплементира целосно серијализацијата. Погледнете го JSON екстензијата. Достапно од memcached 0.2.0. - php
-
, но декодира во низи. Достапно од memcached 2.0.0.
- igbinary
-
Стандардниот PHP серијализатор.
- msgpack
-
Бинарен серијализатор. Достапно од memcached 0.1.4.
Стандардно е
igbinaryГо специфицира серијализаторот што ќе се користи за серијализирање на нескаларни вредности. Валидните серијализатори сеmsgpackГо специфицира серијализаторот што ќе се користи за серијализирање на нескаларни вредности. Валидните серијализатори сеphpotherwise. -
memcached.use_saslbool -
Крос-јазичен бинарен серијализатор. Достапно од memcached 2.2.0.
On,OffПоставете го типот на компресија, валидни вредности се:Off. -
memcached.default_binary_protocolbool -
Го поставува стандардниот протокол за memcached за нови конекции. (За конфигурирање на протоколот memcached за конекции што се користат од сесии, користете наместо тоа.) Ако е поставено на ", стандардниот протокол за бинарни податоци на memcached се користи. Ако е поставено на ", се користи протоколот за текст на memcached. Стандардно е
memcached.sess_binary_protocolГо поставува стандардниот тајмаут за конекција на memcached за нови конекции. (За конфигурирање на тајмаутот за конекција на memcached за сесии, користете наместо тоа.) Во неблокирачки режим, ова го менува вредноста на тајмаутот. За време на конекција на сокет во милисекунди. Специфицирањето ", значи бесконечен тајмаут. Специфицирањето ", значи користење на стандардниот тајмаут за конекција на библиотеката memcached. Стандардно еOnГо поставува стандардот за конзистентно хеширање за нови конекции. (За конфигурирање на конзистентно хеширање за сесии конекции, користете наместо тоа.) , се користи конзистентно хеширање (libketama) за ракување со сесии. Кога се користи конзистентно хеширање, може да се додадат или отстранат јазли на кешот без премногу да се нарушат постоечките клучеви стандардно еOffКористете го бинарниот протокол на memcached за memcached сесии наместо протоколот за текст. Репликите на libmemcached работат само ако е овозможен бинарниот режим. Сепак, одредени прокси (како twemproxy) ќе работат само ако бинарниот протокол е оневозможен. Стандардно еOff. -
memcached.default_connect_timeoutint -
од libmemcached 1.0.18. Пред libmemcached 1.0.18, стандардно беше
memcached.sess_connect_timeoutВо претходните верзии на php-memcached, оваа поставка се нарекуваше-1вредност на тајмаут за поврзување на Memcached Во неблокирачки режим, ова го менува вредноста на тајмаутот за време на поврзување на сокет во милисекунди. Специфицирањето ", значи бесконечен тајмаут.0Тип на конзистентно хеширање на мемориска сесија. Ако е поставено на ", се користи конзистентно хеширање (libketama) за ракување со сесии. Ако е поставено на ", се користи тежинско конзистентно хеширање (libketama) за ракување со сесии. Стандардно е0. -
memcached.default_consistent_hashbool -
. Пред php-memcached 3.0, стандардно беше
memcached.sess_consistent_hashГо поставува стандардниот тајмаут за конекција на memcached за нови конекции. (За конфигурирање на тајмаутот за конекција на memcached за сесии, користете наместо тоа.) Во неблокирачки режим, ова го менува вредноста на тајмаутот. За време на конекција на сокет во милисекунди. Специфицирањето ", значи бесконечен тајмаут. Специфицирањето ", значи користење на стандардниот тајмаут за конекција на библиотеката memcached. Стандардно еOnВремето, во секунди, пред да се ослободи заклучувањето. Поставување наOff. -
memcached.sess_binary_protocolbool -
Use the memcached binary protocol for memcached sessions instead of the text protocol. libmemcached replicas only work if the binary mode is enabled. However, certain proxies (such as twemproxy) will only work if the binary protocol is disabled. Default is
Onas of libmemcached 1.0.18. Prior to libmemcached 1.0.18, the default wasOff.Забелешка: In previous versions of php-memcached, this setting was called
memcached.sess_binary. -
memcached.sess_connect_timeoutint -
memcached connect timeout value In non-blocking mode this changes the value of the timeout during socket connection in milliseconds. Specifying
-1means an infinite timeout. -
memcached.sess_consistent_hash_typestring -
Memcached session consistent hash type. If set to
ketama, consistent hashing (libketama) is used for session handling. If set toketama_weighted, weighted consistent hashing (libketama) is used for session handling. Default isketama. Prior to php-memcached 3.0, the default wasketama_weighted. -
memcached.sess_lock_expireint -
The time, in seconds, before a lock should release itself. Setting to
0резултатира во стандардното однесување, што е да се користи PHP-овиотmax_execution_timeИли0. -
memcached.sess_lock_retriesint -
Бројот на обиди за повторно заклучување на сесијата, не вклучувајќи го првиот обид. Стандардно е
5. -
memcached.sess_lock_wait_maxint -
Максималното време, во милисекунди, за чекање помеѓу обидите за заклучување на сесијата. Стандардно е
150. -
memcached.sess_lock_wait_minint -
Минималното време, во милисекунди, за чекање помеѓу обидите за заклучување на сесијата. Оваа вредност се удвојува при секој обид за повторно заклучување додека не се достигне
memcached.sess_lock_wait_maxпо што било кој понатамошен обид ќе потраеmemcached.sess_lock_wait_maxсекунди. Стандардно е150. -
memcached.sess_persistentbool -
Дали да се повторно користат меморираните врски што одговараат на вредноста(ите) на
session.save_pathпо завршувањето на извршувањето на скриптата. Не користете го ова ако одредени поставки (на пр. SASL поставки, sess_binary_protocol) би биле надминати помеѓу барањата. Стандардно еOff. -
memcached.sess_remove_failed_serversbool -
Дозволи неуспешниот мемориран сервер автоматски да се отстрани. Стандардно е
Off.Забелешка: In previous versions of php-memcached, this setting was called
memcached.sess_remove_failed. -
memcached.sess_server_failure_limitint -
Поставете ја оваа вредност за да овозможите серверот да се отстрани по конфигуриран број последователни неуспешни врски. Стандардно е
0. -
memcached.sess_sasl_passwordstring -
Лозинка за SASL на сесијата. Името на корисникот и лозинката треба да бидат поставени за да се овозможи SASL.
-
memcached.sess_sasl_usernamestring -
Корисничко име за SASL на сесијата. Името на корисникот и лозинката треба да бидат поставени за да се овозможи SASL.
-
memcached.store_retry_countint -
Бројот на обиди за неуспешни команди за складирање. Овој механизам овозможува транспарентно префрлање на секундарни сервери кога операциите set/increment/decrement/setMulti ќе откажат на посакуваниот сервер во мулти-серверско опкружување. Стандардно е
2.
Белешки од корисници 3 белешки
Apparently in version 3.0.3 the default for memcached.sess_binary_protocol in TRUE. Also note the key is memcached.sess_binary_protocol, not memcached.sess.
Setting memcached.sess_binary_protocol to FALSE is required if you want to save the session to memcached through twemproxy.you can get the list of the possible options for the memcached.ini configuration file here:
https://github.com/php-memcached-dev/php-memcached/blob/master/memcached.ini