ホームページ  >  記事  >  データベース  >  PDO での遅い接続タイムアウトを解決するにはどうすればよいですか?

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

Patricia Arquette
Patricia Arquetteオリジナル
2024-11-04 05:26:29331ブラウズ

How to Resolve Slow Connection Timeouts with PDO?

PDO による遅い接続タイムアウトの解決

PDO を使用して MySQL または PostgreSQL データベースからデータを取得する場合、特にサーバーが利用できない場合に、過剰な接続タイムアウトが発生する可能性があります。 PDO のデフォルトの接続タイムアウトは通常、MySQL の場合は 2 分、PostgreSQL の場合は 30 秒ですが、長すぎるように見える場合があります。

PDO での接続タイムアウトの設定

この問題に対処するには、明示的に次のようにします。 PDO コンストラクターを使用して接続タイムアウトを設定します。これにより、接続が確立されるまでの待機時間を制限できます:

<code class="php">$DBH = new PDO(
    "mysql:host=$host;dbname=$dbname", 
    $username, 
    $password,
    array(
        PDO::ATTR_TIMEOUT => 5, // in seconds
        PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION
    )
);</code>

このコード スニペットでは:

  • $host と $dbname はデータベースのホストとデータベースです。
  • $username と $password はデータベースの資格情報です。
  • PDO::ATTR_TIMEOUT は、接続タイムアウトを秒単位で設定するために使用されます。この例では、5 秒に設定されています。
  • PDO::ATTR_ERRMODE は、接続エラーが発生した場合に例外を発生させるために PDO::ERRMODE_EXCEPTION に設定されています。

接続タイムアウト。指定された時間内に接続を確立できない場合、PDO は例外を発生させます。これにより、接続の問題をより効率的に処理し、不必要な遅延を回避できます。

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

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