ホームページ  >  記事  >  バックエンド開発  >  php mysqli::close()

php mysqli::close()

WBOY
WBOYオリジナル
2016-06-23 14:35:571134ブラウズ

Anonymous (24-Apr-2010 05:43)

mysqli_close() 関数とオブジェクト メソッドは、スクリプト内で mysql オブジェクトを再度使用する機能を削除するだけであり、基本的に表面上はすべてのオブジェクト パラメータを無効にするだけです。 。
処理化された mysqli_close() 関数と面方向のオブジェクトのメソッドのみを使用し、この後の表示では mysql オブジェクトを再使用し、基本的に表面上のみにあるすべてのオブジェクトのパラメータを使用します

少なくとも PHP5.3.2 と Windows が接続されている場合これは、使用されている TCP ソケットを実際に閉じないという点で、古い mysql_close() 関数とは異なります。  PHP によって使用されている TCP ソケットを実際に閉じて解放するには、常に mysqli_close() の前に mysqli_kill() 関数を使用する必要があります。  スクリプト実行後のガベージ コレクションや mysqli_close() は、それ自体で TCP ソケットを強制終了しません。  そうしないと、ソケットは約 30 秒間「待機」状態のままになり、追加のページのロードや接続の試行は、開いている TCP 接続の総数を増やすだけになります。  この待ち時間は PHP 設定では設定できないようです。

少なくとも利用中の Windows の tcp 接続のこのバージョンの php では、古い関数は存在せず、実際に使用されている tcp 接続では、mysqli_close() の前に mysqli_kill() 関数が使用され、保護されています。この tcp 接続は、この tcp 接続を約 30 秒間待機し続けます。また、このバージョンでは、mysqli で作成されたリンクは「非アクティブ化」することができず、アクティブ化されるまでプロセス メモリに蓄積され続けます。 PHP サーバーまたはプロセスが再起動され、基本的に mysqli.max_links = -1 が必要になります。

さらに、このバージョンでは、mysqli で作成された接続は無能に設定できず、接続はこのプロセス中に蓄積されるため、知道php サービスまたはプロセスの重複により、mysqli.max_links = -1 に設定できます

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。