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

PDO PHP mengabaikan opsi ATTR_TIMEOUT untuk MySQL ketika server tidak dapat dijangkau

Cukup masukkan

ini_set("default_socket_timeout", 2);

sebelum PDO() menghubungkan string.

(Diuji pada Windows, seharusnya juga baik-baik saja di Linux.)

Mengapa?

Mengejar ini melalui manual:

Driver mysqlnd menggunakan soket untuk koneksi yang mendasarinya, dan untuk mengatur batas waktu Anda perlu menggunakan fungsi batas waktu soket (aliran). (Ref:http://php.net/manual/en/mysqlnd.notes. php )

Jika Anda ingin lebih banyak kontrol, maka Anda mungkin dapat mengontrol lebih spesifik soket yang sebenarnya:Saya belum menguji ini karena ini hanya unix. Untuk mengatur soket yang digunakan mysqlnd, Anda dapat menentukan soket menggunakan pengaturan ini (Ref:http://php.net/manual/en/ref.pdo-mysql.connection.php )

Lihat http://php. net/manual/en/ref.pdo-mysql.php#ini.pdo-mysql.default-socket tentang pengaturan itu

Anda mungkin dapat menyetel batas waktu menggunakan http://php .net/manual/en/function.stream-set-timeout.php

Tapi mungkin lebih mudah untuk mengatur default dan kemudian mengatur ulang setelah Anda selesai...



  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 menemukan akhir pekan pertama yang tersedia

  2. Bisakah wildcard digunakan pada nama tabel untuk GRANT di MySQL?

  3. MySQL:Perbarui Kueri menggunakan If else

  4. Dapatkan Jumlah Terbesar di Database mySQL di PHP

  5. Bisakah Anda menggunakan alias di klausa WHERE di mysql?