Délai d'attente de connexion PDO : une solution détaillée
Introduction :
La connexion à une base de données peut parfois prendre un certain temps une durée excessive en raison de divers facteurs tels que des problèmes de réseau ou la disponibilité du serveur. Cela peut être particulièrement frustrant lorsque vous travaillez avec des systèmes de production.
Paramètre de l'attribut PDO :
L'OP a tenté de définir un délai d'attente en utilisant PDO::setAttribute() avec l'attribut PDO::ATTR_TIMEOUT. , mais cela n'a pas résolu le problème. En effet, le paramètre de délai d'attente s'applique à l'exécution des instructions PDO, et non à l'établissement de la connexion.
Solution optimale :
La solution recommandée pour définir un délai d'expiration de connexion est de fournir la valeur du délai d'attente. comme paramètre de configuration lors de l'initialisation de l'objet PDO. Ceci peut être réalisé en spécifiant PDO::ATTR_TIMEOUT dans le tableau d'options du constructeur.
Exemple de code :
Le code suivant montre comment définir un délai d'expiration de connexion de 5 secondes pour un MySQL connexion à la base de données :
<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>
En définissant PDO::ATTR_ERRMODE sur PDO::ERRMODE_EXCEPTION, toute erreur ou délai d'attente de la base de données déclenchera une PDOException, qui peut être interceptée et traitée en conséquence.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!