PHP 8.4.2 Released!

Configuration à l'exécution

Le comportement de ces fonctions est affecté par la configuration dans le fichier php.ini.

Options de configuration Memcached
Nom Défaut Modifiable Historique
memcached.sess_locking On INI_ALL Disponible depuis memcached 0.1.0.
memcached.sess_consistent_hash On INI_ALL Disponible depuis memcached 2.1.0. La valeur par défaut est Actif depuis memcached 3.0.0.
memcached.sess_binary Off INI_ALL Disponible depuis memcached 2.0.0. Remplacé par memcached.sess_binary_protocol depuis memcached 3.0.0.
memcached.sess_lock_wait 150000 INI_ALL Disponible depuis memcached 0.1.0. Supprimé depuis memcached 3.0.0.
memcached.sess_prefix memc.sess.key. INI_ALL Disponible depuis memcached 0.1.0.
memcached.sess_number_of_replicas 0 INI_ALL Disponible depuis memcached 2.1.0.
memcached.sess_randomize_replica_read Off INI_ALL Disponible depuis memcached 2.1.0.
memcached.sess_remove_failed On INI_ALL Disponible depuis memcached 2.1.0. Remplacé par memcached.sess_remove_failed_servers depuis memcached 3.0.0.
memcached.compression_type fastlz INI_ALL Disponible depuis memcached 0.1.0.
memcached.compression_factor 1.3 INI_ALL Disponible depuis memcached 0.1.0.
memcached.compression_threshold 2000 INI_ALL Disponible depuis memcached 0.1.0.
memcached.serializer igbinary INI_ALL Disponible depuis memcached 0.1.0.
memcached.use_sasl Off INI_ALL Disponible depuis memcached 2.2.0. Supprimé depuis memcached 3.0.0.
memcached.default_binary_protocol Off INI_ALL Disponible depuis memcached 3.0.0.
memcached.default_connect_timeout 0 INI_ALL Disponible depuis memcached 3.0.0.
memcached.default_consistent_hash Off INI_ALL Disponible depuis memcached 3.0.0.
memcached.sess_binary_protocol On INI_ALL Disponible depuis memcached 3.0.0. Remplace memcached.sess_binary.
memcached.sess_connect_timeout 1000 INI_ALL Disponible depuis memcached 2.2.0.
memcached.sess_consistent_hash_type ketama INI_ALL Disponible depuis memcached 3.1.0.
memcached.sess_lock_expire 0 INI_ALL Disponible depuis memcached 2.2.0.
memcached.sess_lock_retries 5 INI_ALL Disponible depuis memcached 3.0.0.
memcached.sess_lock_wait_max 150 INI_ALL Disponible depuis memcached 3.0.0. Par défaut à 150 depuis memcached 3.1.0 (avant 2000).
memcached.sess_lock_wait_min 150 INI_ALL Disponible depuis memcached 3.0.0. Par défaut à 150 depuis memcached 3.1.0 (avant 1000).
memcached.sess_persistent Off INI_ALL Disponible depuis memcached 3.0.0.
memcached.sess_remove_failed_servers Off INI_ALL Disponible depuis memcached 3.0.0. Remplace memcached.sess_remove_failed.
memcached.sess_server_failure_limit 0 INI_ALL Disponible depuis memcached 3.0.0.
memcached.sess_sasl_password null INI_ALL Disponible depuis memcached 2.2.0.
memcached.sess_sasl_username null INI_ALL Disponible depuis memcached 2.2.0.
memcached.store_retry_count 0 INI_ALL Disponible depuis memcached 2.2.0. Par défault à 0 depuis memcached 3.2.0 (avant 2).

Voici un éclaircissement sur l'utilisation des directives de configuration.

memcached.sess_locking bool

Utilise les verrous de session. Les valeurs valides sont On et Off, la valeur par défaut est On.

memcached.sess_consistent_hash bool

Si défini à On, utilise le hachage consistant (libketama) pour la gestion des sessions. Lorsque le hachage consistant est utilisé, on peut ajouter ou supprimer des nœuds de cache sans perturber les clés existantes. La valeur par défaut est On.

memcached.sess_binary bool

Utilise le mode binaire pour les sessions memcached. Les répliques de libmemcached ne fonctionnent que si le mode binaire est activé. La valeur par défaut est Off.

memcached.sess_lock_wait int

La durée d'attente du verrou de session en microsecondes. Soyez prudent lorsque vous définissez cette valeur. Les valeurs valides sont des entiers, où 0 est interprété comme la valeur par défaut. Les valeurs négatives entraînent une réduction du verrouillage à un verrou d'essai. La valeur par défaut est 150000.

memcached.sess_prefix string

Le préfixe de clé de session Memcached. Les valeurs valides sont des chaînes de moins de 219 octets. La valeur par défaut est memc.sess.key.

memcached.sess_number_of_replicas int

Ecrit les données sur un certain nombre de serveurs Memcached supplémentaires. C'est ce que libmemcached appelle le "pauvre homme HA". Si cette valeur est positive et que sess_remove_failed_servers est activé, lorsqu'un serveur Memcached échoue, la session continuera d'être disponible à partir d'une réplique. Cependant, si le serveur Memcached en panne redevient disponible, la session sera lue à partir de là, ce qui pourrait avoir des données obsolètes ou aucune donnée du tout. La valeur par défaut est 0.

memcached.sess_randomize_replica_read bool

La session Memcached lit la réplication aléatoire.

memcached.sess_remove_failed int

Autorise le serveur Memcached en panne à être automatiquement supprimé.

memcached.compression_type string

Définit le type de compression, les valeurs valides sont: fastlz, zlib. La valeur par défaut est fastlz.

memcached.compression_factor float

Le facteur de compression. Stockez la valeur compressée uniquement si le facteur de compression (économie) dépasse la limite définie. Stockez compressé si: plain_len > comp_len * factor. La valeur par défaut est 1.3 (23% d'économie d'espace).

memcached.compression_threshold int

Le seuil de compression. Ne pas compresser les valeurs sérialisées en dessous de ce seuil. La valeur par défaut est 2000 octets.

memcached.serializer string

Définit le sérialiseur par défaut pour les nouveaux objets Memcached. Les valeurs valides sont: php, igbinary, json, json_array, msgpack.

json

La sérialisation JSON PHP standard. Ce sérialiseur est rapide et compact mais ne fonctionne que sur des données encodées en UTF-8 et n'implémente pas entièrement la sérialisation. Voir l'extension JSON. Disponible depuis memcached 0.2.0.

json_array

Comme json, mais décode en tableaux. Disponible depuis memcached 2.0.0.

php

Le sérialiseur PHP standard.

igbinary

Un sérialiseur binaire. Disponible depuis memcached 0.1.4.

msgpack

Un sérialiseur binaire multi-langage. Disponible depuis memcached 2.2.0.

La valeur par défaut est igbinary si disponible, puis msgpack si disponible, puis sinon php.

memcached.use_sasl bool

Utiliser l'authentification SASL pour les connexions. Les valeurs valides sont On et Off. La valeur par défaut est Off.

memcached.default_binary_protocol bool

Définit le protocole memcached par défaut pour les nouvelles connexions. (Pour configurer le protocole memcached pour les connexions utilisées par les sessions, utilisez memcached.sess_binary_protocol à la place.) Si défini à On, le protocole binaire memcached est utilisé par défaut. Si défini à Off, le protocole texte memcached est utilisé. La valeur par défaut est Off.

memcached.default_connect_timeout int

Définit le délai de connexion memcached par défaut pour les nouvelles connexions. (Pour configurer le délai de connexion memcached pour les sessions, utilisez memcached.sess_connect_timeout à la place.) Dans un mode non bloquant, cela change la valeur du délai. Pendant la connexion du socket en millisecondes. Spécifier -1 signifie un délai infini. Spécifier 0 signifie utiliser le délai de connexion par défaut de la bibliothèque memcached. La valeur par défaut est 0.

memcached.default_consistent_hash bool

Définit le hachage consistant par défaut pour les nouvelles connexions. (Pour configurer le hachage consistant pour les connexions utilisées par les sessions, utilisez memcached.sess_consistent_hash à la place.) Si définit à On, le hachage consistant (libketama) est utilisé pour la gestion des sessions. Lorsque le hachage consistant est utilisé, on peut ajouter ou supprimer des nœuds de cache sans perturber les clés existantes. La valeur par défaut est Off.

memcached.sess_binary_protocol bool

Utiliser le protocole binaire memcached pour les sessions memcached au lieu du protocole texte. Les répliques de libmemcached ne fonctionnent que si le mode binaire est activé. Cependant, certains proxies (comme twemproxy) ne fonctionneront que si le protocole binaire est désactivé. La valeur par défaut est On depuis libmemcached 1.0.18. Avant libmemcached 1.0.18, la valeur par défaut était Off.

Note: Dans les versions précédentes de php-memcached, ce paramètre s'appelait memcached.sess_binary.

memcached.sess_connect_timeout int

La valeur du temps d'attente de connexion memcached. En mode non bloquant, cela change la valeur du délai pendant la connexion du socket en millisecondes. Spécifier -1 signifie un délai infini.

memcached.sess_consistent_hash_type string

Type de hachage consistant de session Memcached. Si défini à ketama, le hachage consistant (libketama) est utilisé pour la gestion des sessions. Si défini à ketama_weighted, le hachage consistant pondéré (libketama) est utilisé pour la gestion des sessions. La valeur par défaut est ketama. Avant php-memcached 3.0, la valeur par défaut était ketama_weighted.

memcached.sess_lock_expire int

Le temps, en secondes, avant qu'un verrou ne se libère. Définir sur 0 donne le comportement par défaut, qui est d'utiliser max_execution_time de PHP. La valeur par défaut est 0.

memcached.sess_lock_retries int

Le nombre de tentatives de verrouillage de session, sans compter la première tentative. La valeur par défaut est 5.

memcached.sess_lock_wait_max int

Le temps maximum, en millisecondes, à attendre entre les tentatives de verrouillage de session. La valeur par défaut est 150.

memcached.sess_lock_wait_min int

Le temps minimum, en millisecondes, à attendre entre les tentatives de verrouillage de session. Cette valeur est doublée à chaque nouvelle tentative de verrouillage jusqu'à ce que memcached.sess_lock_wait_max soit atteint, après quoi toute nouvelle tentative prendra memcached.sess_lock_wait_max secondes. La valeur par défaut est 150.

memcached.sess_persistent bool

Si les connexions memcached correspondent à la valeur(s) de session.save_path doivent être réutilisées après l'exécution du script. Ne pas utiliser si certains paramètres (par exemple, les paramètres SASL, sess_binary_protocol) seraient écrasés entre les requêtes. La valeur par défaut est Off.

memcached.sess_remove_failed_servers bool

Autorise le serveur Memcached en panne à être automatiquement supprimé. La valeur par défaut est Off.

Note: Dans les versions précédentes de php-memcached, ce paramètre s'appelait memcached.sess_remove_failed.

memcached.sess_server_failure_limit int

Définir cette valeur pour permettre la suppression automatique du serveur après un certain nombre de tentatives de connexion échouées. La valeur par défaut est 0.

memcached.sess_sasl_password string

Le mot de passe SASL de session. Le nom d'utilisateur et le mot de passe doivent être définis pour activer SASL.

memcached.sess_sasl_username string

Le nom d'utilisateur SASL de session. Le nom d'utilisateur et le mot de passe doivent être définis pour activer SASL.

memcached.store_retry_count int

La quantité de tentatives pour les commandes de stockage échouées. Ce mécanisme permet un basculement transparent vers les serveurs secondaires lorsque les opérations set/increment/decrement/setMulti échouent sur le serveur souhaité dans un environnement multi-serveurs. La valeur par défaut est 2.

add a note

User Contributed Notes 3 notes

up
5
senz
10 years ago
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
up
2
Piotr Gabryjeluk
7 years ago
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.
up
1
adolfoabegg at gmail dot com
13 years ago
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
To Top