Ustawiasz wait_timeout
do 1 to śpisz 3, co się stanie? MySql zamknie połączenie po jednej sekundzie i pojawi się błąd „Mysql Server has gone away” wraz z następnym stwierdzeniem „ponieważ śpisz 3”.
http://dev.mysql.com /doc/refman/5.1/en/server-system-variables.html#sysvar_wait_timeout
edytuj
Pytanie jest duplikatem Błąd MySQL 2006:mysql serwer zniknął
edytuj 2
Przyczyny tego błędu:
- niski wait_timeout - rozwiązanie:ping, ponowne połączenie lub też zwiększenie
- duże pakiety - rozwiązanie:dostroić
max_allowed_packet
w my.cfg
Ponowne połączenie PDO - symuluj ping w PDO Jak pingować bazę danych MySQL i ponownie połączyć się za pomocą PDO
edytuj 3 pytanie zaktualizowane
Jedynym sposobem (afaik) na pozbycie się tych ostrzeżeń jest ustawienie oczekiwanego (np. E_ERROR) zgłaszanie_błędów poziom. Możesz zawinąć wywołania pdo, na przykład, aby ustawić E_ERROR przed i zresetować do wartości domyślnych po wykonaniu.
PDO rejestruje ostrzeżenia/błędy do celów logowania (sic!) w celu dalszej analizy. Ustawiony atrybut (przez setAttribute lub konstruktor) zmienia tylko obsługę błędów/zachowanie pdo - rzucaj lub nie:). Te dwie rzeczy są oddzielone.