When using PDO to retrieve data from a MySQL or PostgreSQL database, excessive connection timeouts can occur, especially when the server is unavailable. The default connection timeout in PDO is typically 2 minutes for MySQL and 30 seconds for PostgreSQL, which can seem excessively long.
To address this issue, you can explicitly set a connect timeout using the PDO constructor. This allows you to limit the time spent waiting for a connection to be established:
<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>
In this code snippet:
By setting a connect timeout, PDO will raise an exception if the connection cannot be established within the specified time frame. This allows you to handle connection issues more efficiently and avoid unnecessary delays.
The above is the detailed content of How to Resolve Slow Connection Timeouts with PDO?. For more information, please follow other related articles on the PHP Chinese website!