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 ...