PDO を使用して MySQL または PostgreSQL データベースからデータを取得する場合、特にサーバーが利用できない場合に、過剰な接続タイムアウトが発生する可能性があります。 PDO のデフォルトの接続タイムアウトは通常、MySQL の場合は 2 分、PostgreSQL の場合は 30 秒ですが、長すぎるように見える場合があります。
この問題に対処するには、明示的に次のようにします。 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>
このコード スニペットでは:
接続タイムアウト。指定された時間内に接続を確立できない場合、PDO は例外を発生させます。これにより、接続の問題をより効率的に処理し、不必要な遅延を回避できます。
以上がPDO での遅い接続タイムアウトを解決するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。