PDO の接続タイムアウトを設定するにはどうすればよいですか?

Barbara Streisand
リリース: 2024-11-03 19:55:03
オリジナル
512 人が閲覧しました

How to Set a Connect Timeout for PDO?

PDO による接続タイムアウトの設定

PDO を使用して MySQL サーバーからデータを取得する場合、サーバーがアクセスできない。デフォルトでは、PDO は例外をスローするのに MySQL の場合は 2 分以上かかり、PostgreSQL の場合は 30 秒かかります。これは非常に長くなる可能性があります。

この問題を軽減するには、データベースへの接続のタイムアウトを設定できます。次の構文を使用します:

$DBH = new PDO(
    "mysql:host=$host;dbname=$dbname", 
    $username, 
    $password,
    array(
        PDO::ATTR_TIMEOUT => 5, // in seconds
        PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION
    )
);
ログイン後にコピー

PDO::ATTR_TIMEOUT 属性を設定すると、PDO が接続を確立するまで待機する最大時間を秒単位で指定できます。上の例では、接続試行は 5 秒後にタイムアウトになります。

接続タイムアウトを設定しても即時フェイルオーバーが保証されるわけではないことに注意することが重要です。タイムアウトが経過する前にサーバーがオンラインに戻ると、PDO は接続を正常に確立します。ただし、接続の問題を処理するためのより応答性の高いアプローチが提供され、アプリケーションが使用できないサーバーの待機に費やす時間が短縮されます。

以上がPDO の接続タイムアウトを設定するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート