U stelt wait_timeout
in tot 1 dan slaap je 3, wat gebeurt er? MySql sluit de verbinding na één seconde en u krijgt de foutmelding "Mysql Server has gone away" met de volgende instructie omdat u 3 slaapt.
http://dev.mysql.com /doc/refman/5.1/en/server-system-variables.html#sysvar_wait_timeout
bewerken
Vraag is duplicaat van MySQL-fout 2006:mysql server is weggegaan
bewerk 2
Oorzaken van deze fout:
- low wait_timeout - oplossing:ping, maak opnieuw verbinding of verhoog het ook
- grote pakketten - oplossing:tune
max_allowed_packet
in mijn.cfg
PDO opnieuw verbinden - ping simuleren in PDO Hoe ping ik de MySQL-database en maak opnieuw verbinding met PDO
bewerk 3 vraag bijgewerkt
De enige manier (afaik) om van deze waarschuwingen af te komen, is door de verwachte (bijv. E_ERROR) error_reporting niveau. Je zou pdo-oproepen kunnen inpakken om bijvoorbeeld E_ERROR eerder in te stellen en na uitvoering terug te zetten op de standaardwaarde.
PDO logt waarschuwingen/fouten voor logdoeleinden (sic!) voor verdere analyse. Het attribuut dat u instelt (door setAttribute of constructor) verandert alleen de foutafhandeling/het gedrag van pdo - gooien of niet:). Deze twee dingen zijn gescheiden.