ホームページ  >  記事  >  バックエンド開発  >  PHP と MySQL データベースの間に永続的な接続を確立する方法

PHP と MySQL データベースの間に永続的な接続を確立する方法

little bottle
little bottle転載
2019-04-23 16:08:213639ブラウズ

この記事は、PHP と MySQL データベース間の永続的な接続の具体的な手順を紹介するものです。必要な友人はそれについて学ぶことができます。お役に立てば幸いです。

永続的なデータベース接続:

1. 永続的なデータベース接続とは、スクリプトの実行終了時に閉じられない接続を指します。永続的な接続要求を受信したとき。 PHP は、(以前に開かれた) 同一の永続接続が既に存在するかどうかを確認します。存在する場合は接続が直接使用され、存在しない場合は新しい接続が確立されます。いわゆる「同じ」接続とは、同じユーザー名とパスワードを使用した同じホストへの接続を指します。

関連チュートリアル: mysql ビデオ チュートリアル

2. 最初の方法は、PHP を個別に実行される言語インタープリター (CGI Wapper) として使用することです。この場合、PHP スクリプト自体の実行は永続的ではないため、永続的接続と非永続的接続の使用に違いはありません。

3. PHP をマルチプロセス Web サーバーのモジュールとして使用します。この方法は現在 Apache にのみ適用できます。同じクライアントがサーバーに 2 回目のリクエストを行うとき、これは次の方法で使用される可能性があります。処理する別のサブプロセス。永続的な接続を開いた後は、SQL サービスを要求する後続のすべてのページで、確立された SQL Server 接続を再利用できます。

4. 永続的な接続でデータ テーブル ロックを使用する場合、スクリプトが何らかの理由でデータ テーブル ロックを解放できない場合、同じ接続を使用する後続のスクリプトは永久にブロックされ、httpd サービスの再起動が必要になります。 . またはデータベース サービス。

5. トランザクション処理を使用する場合、トランザクションのブロックが発生する前にスクリプトが終了すると、同じ接続を使用する次のスクリプトにもブロックが影響します。

6. プログラムは永続的な接続 (PDO) を使用します。 ::ATTR_PERSISTENT) を使用してデータベースにアクセスすると、PHP-FPM ワーカー プロセスは MySQL への長い接続に対応します。

リクエストが完了した後、PHP は次回再利用するために MySQL への接続を解放しません。プロセスはプログラムにとって有害で​​す。透過的です。

これは、PHP-FPM によって維持される「データベース接続プール」とみなすことができます。

7. MySQL リソースを保存する代わりに、データベースの負荷が増加します。

PDO 永続接続:

$dbh = new PDO('mysql:host=localhost;dbname=test', $user, $pass, array(
    PDO::ATTR_PERSISTENT => true
));

証明:

## 関連チュートリアル:

PHP ビデオチュートリアル

以上がPHP と MySQL データベースの間に永続的な接続を確立する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事はcnblogs.comで複製されています。侵害がある場合は、admin@php.cn までご連絡ください。