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

PDO của PHP đang bỏ qua tùy chọn ATTR_TIMEOUT cho MySQL khi không thể truy cập máy chủ

Chỉ cần đặt

ini_set("default_socket_timeout", 2);

trước chuỗi kết nối PDO () của bạn.

(Đã thử nghiệm trên Windows, cũng tốt trên Linux.)

Tại sao?

Theo đuổi điều này thông qua hướng dẫn:

Trình điều khiển mysqlnd sử dụng các ổ cắm cho kết nối cơ bản và để đặt thời gian chờ, bạn cần sử dụng các chức năng thời gian chờ của ổ cắm (luồng). (Tham khảo: http://php.net/manual/en/mysqlnd.notes. php )

Nếu bạn muốn kiểm soát nhiều hơn, thì bạn có thể kiểm soát cụ thể hơn ổ cắm thực tế:Tôi chưa thử nghiệm điều này vì nó chỉ là unix. Để đặt cách sử dụng mysqlnd socket, bạn có thể chỉ định socket bằng cách sử dụng cài đặt ini (Tham khảo: http://php.net/manual/en/ref.pdo-mysql.connection.php )

Xem http://php. net / manual / en / ref.pdo-mysql.php # ini.pdo-mysql.default-socket về cài đặt đó

Sau đó, bạn có thể đặt thời gian chờ bằng cách sử dụng http:// php .net / manual / en / function.stream-set-timeout.php

Nhưng có lẽ dễ dàng hơn để đặt mặc định và sau đó đặt lại sau khi bạn hoàn tấ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. Mysql FIND_IN_SET trong mệnh đề where

  2. Làm cách nào để thiết lập ASP.NET MVC 2 với MySQL?

  3. Bắt đầu và dừng phiên bản mysql cục bộ từ bên trong ứng dụng

  4. Chuyển đổi dấu thời gian Unix thành ngày có thể đọc được của con người bằng MySQL

  5. MySQL:chọn ngày thứ hai của tuần hiện tại