Anda menyetel wait_timeout
ke 1 lalu kamu tidur 3, apa yang akan terjadi? MySql akan menutup koneksi setelah satu detik dan Anda akan mendapatkan kesalahan "Server MySQL telah hilang" dengan pernyataan berikutnya karena Anda tidur selama 3.
http://dev.mysql.com /doc/refman/5.1/en/server-system-variables.html#sysvar_wait_timeout
edit
Pertanyaan adalah duplikat dari Kesalahan MySQL 2006:mysql server telah hilang
edit 2
Penyebab kesalahan ini:
- waktu tunggu_waktu habis - solusi:ping, sambungkan kembali, atau tingkatkan juga
- paket besar - solusi:tune
max_allowed_packet
di my.cfg
Sambungkan kembali PDO - simulasikan ping di PDO Bagaimana cara melakukan ping ke MySQL db dan menyambungkan kembali menggunakan PDO
edit 3 pertanyaan diperbarui
Satu-satunya cara (afaik) untuk menghilangkan peringatan ini adalah dengan menyetel yang diharapkan (mis. E_ERROR) pelaporan_kesalahan tingkat. Anda dapat menggabungkan panggilan pdo misalnya untuk menyetel E_ERROR sebelum dan menyetel ulang ke default setelah eksekusi.
PDO log peringatan/kesalahan untuk tujuan log (sic!) Untuk analitik lebih lanjut. Atribut yang Anda tetapkan (oleh setAttribute atau konstruktor) hanya mengubah penanganan kesalahan/perilaku pdo - lempar atau tidak :). Kedua hal ini dipisahkan.