Mysqlnd
PHP Manual

持続的接続

持続的接続の使用

持続的接続が作成される際に、もし mysqlimysqlnd と一緒に使用されていれば、サーバー上に COM_CHANGE_USER (mysql_change_user()) の呼び出しを生成します。これは、接続の認証が再び行われることを確実にします。

COM_CHANGE_USER の呼び出しと関連するオーバーヘッドが若干あるので、 コンパイル時にこれをオフにすることができます。 持続的接続を再利用すると、接続が再利用できるかどうか簡単にテストするために、 COM_PING (mysql_ping) の呼び出しが生成されます。

COM_CHANGE_USER を生成すると、コンパイル・フラグ MYSQLI_NO_CHANGE_USER_ON_PCONNECT でオフにすることができます。 例えば、

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

またはその代わりに、

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

mysqlnd 上の mysqli だけが COM_CHANGE_USER を使用することに注意してください。 他のエクステンションとドライバーの組み合わせでは、持続的な接続を最初に使用する際に、 COM_PING を使用します。


Mysqlnd
PHP Manual