Rumah > pangkalan data > tutorial mysql > Bagaimana untuk Menyelesaikan Tamat Masa Sambungan Lambat dengan PDO?

Bagaimana untuk Menyelesaikan Tamat Masa Sambungan Lambat dengan PDO?

Patricia Arquette
Lepaskan: 2024-11-04 05:26:29
asal
411 orang telah melayarinya

How to Resolve Slow Connection Timeouts with PDO?

Menyelesaikan Tamat Masa Sambungan Lambat dengan PDO

Apabila menggunakan PDO untuk mendapatkan semula data daripada pangkalan data MySQL atau PostgreSQL, tamat masa sambungan yang berlebihan boleh berlaku, terutamanya apabila pelayan tidak tersedia. Tamat masa sambungan lalai dalam PDO biasanya 2 minit untuk MySQL dan 30 saat untuk PostgreSQL, yang boleh kelihatan terlalu lama.

Menetapkan Tamat Masa Sambung dengan PDO

Untuk menangani isu ini, anda boleh secara eksplisit tetapkan tamat masa sambungan menggunakan pembina PDO. Ini membolehkan anda mengehadkan masa yang dibelanjakan untuk menunggu sambungan diwujudkan:

<code class="php">$DBH = new PDO(
    "mysql:host=$host;dbname=$dbname", 
    $username, 
    $password,
    array(
        PDO::ATTR_TIMEOUT => 5, // in seconds
        PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION
    )
);</code>
Salin selepas log masuk

Dalam coretan kod ini:

  • $host dan $dbname ialah hos pangkalan data dan pangkalan data nama, masing-masing.
  • $nama pengguna dan $kata laluan ialah bukti kelayakan pangkalan data anda.
  • PDO::ATTR_TIMEOUT digunakan untuk menetapkan tamat masa sambungan dalam beberapa saat. Dalam contoh ini, ia ditetapkan kepada 5 saat.
  • PDO::ATTR_ERRMODE ditetapkan kepada PDO::ERRMODE_EXCEPTION untuk menimbulkan pengecualian jika ralat sambungan berlaku.

Dengan menetapkan a sambungan tamat masa, PDO akan menimbulkan pengecualian jika sambungan tidak dapat diwujudkan dalam jangka masa yang ditentukan. Ini membolehkan anda mengendalikan isu sambungan dengan lebih cekap dan mengelakkan kelewatan yang tidak perlu.

Atas ialah kandungan terperinci Bagaimana untuk Menyelesaikan Tamat Masa Sambungan Lambat dengan PDO?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan