Les connexions persistantes
PHP Manual
PHP Manual»Mysqlnd»Les connexions persistantes

Les connexions persistantes

Utilisation des connexions persistantes

Si mysqli est utilisé avec mysqlnd, lorsqu'une connexion persistante est créée, il génère un appel COM_CHANGE_USER (mysql_change_user()) sur le serveur. Ceci permet la re-authentification de la connexion.

Comme l'appel COM_CHANGE_USER est assez lourd, il est possible de le désactiver à la compilation. Réutiliser une connexion persistante génèrera alors un appel COM_PING (mysql_ping) pour tester simplement si la connexion est réutilisable.

L'utilisation de COM_CHANGE_USER peut être désactivée avec le drapeau de compilation MYSQLI_NO_CHANGE_USER_ON_PCONNECT. Par exemple:

shell# CFLAGS="-DMYSQLI_NO_CHANGE_USER_ON_PCONNECT" ./configure --with-mysql=/usr/local/mysql/ --with-mysqli=/usr/local/mysql/bin/mysql_config --with-pdo-mysql=/usr/local/mysql/bin/mysql_config --enable-debug && make clean && make -j6

Ou encore:

shell# export CFLAGS="-DMYSQLI_NO_CHANGE_USER_ON_PCONNECT"
shell# configure --whatever-option
shell# make clean
shell# make

Il est à noter que seul mysqli avec mysqlnd utilise COM_CHANGE_USER. Les autres extensions/pilotes utilisent COM_PING lors de l'utilisation de la connexion persistante.

To Top