Mysql
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Mysql

PHP PDO Exception + Cảnh báo trên MySQL đã biến mất?

Bạn đặt wait_timeout đến 1 rồi bạn ngủ 3, điều gì sẽ xảy ra? MySql sẽ đóng kết nối sau một giây và bạn sẽ gặp lỗi "Máy chủ Mysql đã biến mất" với câu lệnh tiếp theo 'khiến bạn ngủ trong 3 giây.

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

chỉnh sửa

Câu hỏi trùng lặp với Lỗi MySQL 2006:mysql máy chủ đã biến mất

chỉnh sửa 2

Nguyên nhân của lỗi này:

  • thời gian chờ đợi thấp - giải pháp:ping, kết nối lại hoặc tăng nó lên
  • gói lớn - giải pháp:tune max_allowed_packet trong my.cfg

Kết nối lại PDO - mô phỏng ping trong PDO Làm cách nào để ping db MySQL và kết nối lại bằng PDO

chỉnh sửa 3 câu hỏi được cập nhật

Cách duy nhất (afaik) để loại bỏ những cảnh báo này là đặt dự kiến ​​(ví dụ:E_ERROR) error_reporting mức độ. Ví dụ, bạn có thể gói các lệnh gọi pdo để đặt E_ERROR trước và đặt lại về mặc định sau khi thực thi.

PDO ghi nhật ký các cảnh báo / lỗi cho mục đích nhật ký (sic!) Để phân tích thêm. Thuộc tính bạn đặt (bằng setAttribute hoặc constructor) chỉ thay đổi việc xử lý lỗi / hành vi của pdo - throw hoặc not :). Hai thứ này được tách biệt.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Cách tốt nhất để lưu trữ giờ làm việc và truy vấn nó một cách hiệu quả

  2. MySQL chỉ nhập một hàng duy nhất từ ​​CSV

  3. Lỗi (Mã lỗi:1175) trong khi thực hiện lệnh cập nhật trên bảng bằng MySQL Workbench 5.2

  4. Liên kết dự án không hoạt động trên Máy chủ Wamp

  5. mysql, lặp qua các tên cột