0

MySQL に接続する PHP スクリプトがいくつかの操作を実行して終了します。

最後に一言ありmysqli_close($link);ます。

それでも、MySQL プロセス リストにそのユーザーのスリープ プロセスがあり、どこから来たのかわかりません。

私が知る限り、PHP スクリプトが終了するとすぐにmysqli_close、最後に がなくても接続を閉じる必要があります (ただし、1 つあります)。

では、そのユーザーの眠っているプロセスはどこにあるのでしょうか?

私が再起動httpdすると、それらはすべて死にます。

4

1 に答える 1

2

mysqli は永続的な接続を提供します。つまり、PHP 開発者の接続モデルと dbms のモデルの間にレイヤーを提供します。

永続的な接続を使用すると、PHP プログラムは との接続を閉じます mysqli_close()。ただし、DBMS への接続は PHP ランタイムによって維持され、次のオープン呼び出しに備えます。

PHP ランタイム (またはその他の dbms クライアント) と dbms からの接続を開くとコストがかかるため、これにより、ビジーな Web サイトでの大幅な高速化が実現します。

アイドル状態の接続のラウンド数 (10 個) は、永続的な接続プールのようなにおいがします。

これはあなたが見ているものの説明でしょうか?

于 2012-08-30T12:26:44.527 に答える