sql >> Databasteknik >  >> RDS >> Mysql

PHP PDO-undantag + varning på MySQL har försvunnit?

Du ställer in wait_timeout till 1 sen sover du 3, vad händer? MySql kommer att stänga anslutningen efter en sekund och du kommer att få felmeddelandet "Mysql Server has gone" med nästa uttalande eftersom du sover i 3.

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

redigera

Frågan är en kopia av MySQL-fel 2006:mysql servern har försvunnit

redigera 2

Orsaker till detta fel:

  • låg wait_timeout - lösning:pinga, återanslut eller öka den också
  • stora paket - lösning:tune max_allowed_packet i my.cfg

PDO återanslut - simulera ping i PDO Hur pingar jag MySQL-db och ansluter igen med PDO

redigera 3 fråga uppdaterad

Det enda sättet (afaik) att bli av med dessa varningar är att ställa in förväntat (t.ex. E_ERROR) felrapportering nivå. Du kan till exempel lägga in PDO-anrop för att ställa in E_ERROR före och återställa till standard efter körning.

PDO loggar varningar/fel för loggändamål (sic!) för vidare analys. Attributet du anger (av setAttribute eller konstruktor) ändrar bara felhantering/beteende för pdo - throw or not:). Dessa två saker är åtskilda.



  1. Hur tar man bort alla referensrader automatiskt om överordnad rad tas bort i mysql?

  2. ClusterControl - Advanced Backup Management - mariabackup del I

  3. Tjänstegruppförändringar i R12.2

  4. Oracle user_indexes översättning till MySQL