Mysql
 sql >> Datenbank >  >> RDS >> Mysql

PHP-PDO-Ausnahme + Warnung zu MySQL ist verschwunden?

Sie setzen wait_timeout bis 1 dann schläfst du 3, was wird passieren? MySql beendet die Verbindung nach einer Sekunde und Sie erhalten die Fehlermeldung "Mysql Server has been away" mit der nächsten Anweisung, weil Sie 3 Jahre lang schlafen.

http://dev.mysql.com /doc/refman/5.1/en/server-system-variables.html#sysvar_wait_timeout

bearbeiten

Frage ist Duplikat von MySQL error 2006:mysql Server ist weg

Bearbeiten 2

Ursachen für diesen Fehler:

  • low wait_timeout - Lösung:pingen, neu verbinden oder auch erhöhen
  • große Pakete - Lösung:tune max_allowed_packet in meiner.cfg

PDO-Wiederverbindung - Ping in PDO simulieren Wie pinge ich die MySQL-Datenbank an und stelle die Verbindung mit PDO wieder her

Bearbeiten 3 Frage aktualisiert

Die einzige Möglichkeit (afaik), diese Warnungen loszuwerden, besteht darin, erwartet (z. B. E_ERROR) Fehlermeldung eben. Sie könnten beispielsweise pdo-Aufrufe einschließen, um E_ERROR vor der Ausführung zu setzen und nach der Ausführung auf die Standardeinstellung zurückzusetzen.

PDO protokolliert Warnungen/Fehler zu Protokollzwecken (sic!) für weitere Analysen. Das von Ihnen festgelegte Attribut (durch setAttribute oder Konstruktor) ändert nur die Fehlerbehandlung/das Verhalten von pdo - throw or not :). Diese beiden Dinge sind getrennt.