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.