PHP Conference Japan 2024

持久連線

使用持久連線

如果 mysqlimysqlnd 一起使用,當建立持久連線時,它會在伺服器上產生一個 COM_CHANGE_USER (mysql_change_user()) 呼叫。這可確保連線會重新驗證。

由於 COM_CHANGE_USER 呼叫會產生一些額外負擔,因此可以在編譯時關閉此功能。重複使用持久連線將會產生 COM_PING (mysql_ping) 呼叫,以簡單地測試連線是否可重複使用。

可以使用編譯旗標 MYSQLI_NO_CHANGE_USER_ON_PCONNECT 來關閉產生 COM_CHANGE_USER 的功能。例如

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

新增筆記

使用者貢獻的筆記

此頁面沒有使用者貢獻的筆記。
To Top