Mysql
 sql >> Teknologi Basis Data >  >> RDS >> Mysql

Pengecualian PHP PDO + Peringatan di MySQL Telah Hilang?

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.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Membaca lembar XLSX untuk memberi makan tabel MySQL menggunakan PHPExcel

  2. PHP Ekstrak Kode Dari TextArea dan Lewati ke Mysql SELECT IN Query

  3. MySQL Menentukan panjang VarChar terpanjang

  4. Bagaimana saya bisa menggunakan jika ada untuk membuat atau menjatuhkan indeks di MySQL?

  5. Bagaimana saya bisa menambahkan kolom ke tabel kerja menggunakan prosedur tersimpan baru