Heim > Datenbank > MySQL-Tutorial > Hauptteil

Wie kann ich Zeitüberschreitungen bei langsamen Verbindungen mit PDO beheben?

Patricia Arquette
Freigeben: 2024-11-04 05:26:29
Original
347 Leute haben es durchsucht

How to Resolve Slow Connection Timeouts with PDO?

Langsame Verbindungs-Timeouts mit PDO beheben

Beim Verwenden von PDO zum Abrufen von Daten aus einer MySQL- oder PostgreSQL-Datenbank kann es zu übermäßigen Verbindungs-Timeouts kommen, insbesondere wenn der Server nicht verfügbar ist. Das standardmäßige Verbindungs-Timeout in PDO beträgt normalerweise 2 Minuten für MySQL und 30 Sekunden für PostgreSQL, was übermäßig lang erscheinen kann.

Einen Verbindungs-Timeout mit PDO festlegen

Um dieses Problem explizit zu beheben Legen Sie mit dem PDO-Konstruktor ein Verbindungszeitlimit fest. Dadurch können Sie die Wartezeit auf den Verbindungsaufbau begrenzen:

<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>
Nach dem Login kopieren

In diesem Codeausschnitt:

  • $host und $dbname sind der Datenbankhost und die Datenbank Name bzw. Name.
  • $username und $password sind Ihre Datenbankanmeldeinformationen.
  • PDO::ATTR_TIMEOUT wird verwendet, um das Verbindungszeitlimit in Sekunden festzulegen. In diesem Beispiel ist es auf 5 Sekunden eingestellt.
  • PDO::ATTR_ERRMODE wird auf PDO::ERRMODE_EXCEPTION gesetzt, um eine Ausnahme auszulösen, wenn ein Verbindungsfehler auftritt.

Durch das Setzen von a Verbindungs-Timeout, PDO löst eine Ausnahme aus, wenn die Verbindung nicht innerhalb des angegebenen Zeitrahmens hergestellt werden kann. Dadurch können Sie Verbindungsprobleme effizienter lösen und unnötige Verzögerungen vermeiden.

Das obige ist der detaillierte Inhalt vonWie kann ich Zeitüberschreitungen bei langsamen Verbindungen mit PDO beheben?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage