ホームページ  >  記事  >  バックエンド開発  >  php-mysql 拡張機能の mysql_connect/mysql_pconnect の比較_PHP チュートリアル

php-mysql 拡張機能の mysql_connect/mysql_pconnect の比較_PHP チュートリアル

WBOY
WBOYオリジナル
2016-07-14 10:06:431010ブラウズ

作者: selfimpr
ブログ: http://blog.csdn.net/lgg201
メール: lgg860911@yahoo.com.cn

アイテム
mysql_connect
mysql_pconnect
関数プロトタイプ
resource mysql_connect($host_port, $user, $passwd, $newlink, $client_flags);
4 番目のパラメーター $newlink は、新しいリソース オブジェクトを作成するかどうかをマークします
resource mysql_pconnect($host_port, $user, $passwd, $client_flags);
allow_persistent ディレクティブ
このディレクティブを設定して、両方の関数が mysql_connect() と同じように動作するようにします
接続リソースオブジェクトを取得します
$host_port、$user、$passwd、$client_flags のハッシュ値を見つけます
通常のリソースリスト (EG(regulator_list)) で接続オブジェクトを検索します (見つかりましたが、$newlink は新しい接続の作成を強制するように設定されていません)
見つかったオブジェクトがリソースタイプかどうかを確認してください
見つかったオブジェクトから接続オブジェクトを読み取ります
現在取得している接続オブジェクトをグローバルのデフォルト接続オブジェクトとして設定します
接続オブジェクトの参照カウントを増やし、zval 属性を return に設定します
$host_port、$user、$passwd、$client_flags のハッシュ値を見つけます
永続リソースリスト (EG(persist_list)) から接続オブジェクトを検索します (見つかりません)
max_links 設定ディレクティブの制限に達しているかどうかを確認してください
max_persistent 設定ディレクティブの制限に達しているかどうかを確認してください
接続オブジェクト (php_mysql_conn) スペースを割り当てます
接続オブジェクトの基本プロパティを設定します
ドライバー層の接続オブジェクトを初期化します (mysqlnd/libmysql の 2 つのメソッド)
接続タイムアウトを設定する
ドライバー層から実際の接続リクエストを開始します
永続的なリスト要素オブジェクトを構築し、新しい接続オブジェクトを要素に設定します
接続オブジェクトを永続リストに更新します
num_persistent/num_links 数を更新 (増加) します
リソースタイプの戻り値を登録します
現在取得している接続をグローバルのデフォルト接続オブジェクトとして設定します
$host_port、$user、$passwd、$client_flags のハッシュ値を見つけます
通常のリソースリスト (EG(regulator_list)) で接続オブジェクトを見つけます (見つからないか、$newlink が新しい接続の作成を強制するように設定されています)
max_links 設定ディレクティブの制限を確認してください
接続オブジェクト (php_mysql_conn) スペースを割り当てます
接続オブジェクトの基本プロパティを設定します
ドライバー層接続オブジェクト (mysqlnd/libmysql) を初期化します
接続タイムアウトを設定する
ドライバー層への実際の接続を開始します
接続オブジェクトをリソースタイプの戻り値として登録します
接続オブジェクトを通常のリソースリスト (EG(regualr_list)) に更新します
num_links 数を更新します
現在取得している接続オブジェクトをグローバルのデフォルト接続オブジェクトとして設定します
$host_port、$user、$passwd、$client_flags のハッシュ値を見つけます
永続リソースリストから接続オブジェクトを見つけます(見つかった)
見つかった永続リソースのタイプが一致するかどうかを確認します
永続リソースから接続オブジェクトを読み取ります
接続オブジェクトの基本プロパティを設定します
サーバーがアクティブにシャットダウンされているかどうかを確認します
サーバーがアクティブにシャットダウンすると、再接続されます
リソースタイプの戻り値を登録します
現在取得している接続をグローバルのデフォルト接続オブジェクトとして設定します
正規リストと永続リスト
Regular_list とpersistent_list はどちらも HashTable です
どちらも実行グローバル環境 executor_globals のメンバーです
2 つのライフサイクルは異なります。 Regular_list は php_request_shutdown() のときに解放されます。つまり、単一のリクエストが処理された後に解放されます。一方、persistent_list は php_module_shutdown() のときに zend_shutdown() を呼び出すことによって解放されます。プロセス全体の実行が完了したとき


www.bkjia.com本当http://www.bkjia.com/PHPjc/477932.html技術記事著者: selfimpr ブログ: http://blog.csdn.net/lgg201 メール: lgg860911@yahoo.com.cn item mysql_connect mysql_pconnect 関数 プロトタイプ リソース mysql_connect($host_port, $user, $passwd, $n...
声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。