Rumah > pangkalan data > tutorial mysql > Bagaimana untuk menetapkan tamat masa sambungan untuk PDO dalam PHP?

Bagaimana untuk menetapkan tamat masa sambungan untuk PDO dalam PHP?

Susan Sarandon
Lepaskan: 2024-11-04 12:59:02
asal
1015 orang telah melayarinya

How to Set a Connection Timeout for PDO in PHP?

PDO Connect Timeout: Penyelesaian Terperinci

Pengenalan:
Menyambung ke pangkalan data kadangkala boleh mengambil masa jumlah masa yang berlebihan disebabkan oleh pelbagai faktor seperti isu rangkaian atau ketersediaan pelayan. Ini boleh mengecewakan terutamanya apabila bekerja dengan sistem Pengeluaran.

Tetapan Atribut PDO:
OP cuba menetapkan tamat masa menggunakan PDO::setAttribute() dengan atribut PDO::ATTR_TIMEOUT , tetapi ia tidak menyelesaikan isu tersebut. Ini kerana tetapan tamat masa digunakan pada pelaksanaan pernyataan PDO, bukan pada penubuhan sambungan.

Penyelesaian Optimum:
Penyelesaian yang disyorkan untuk menetapkan tamat masa sambungan adalah dengan memberikan nilai tamat masa sebagai parameter konfigurasi semasa pemulaan objek PDO. Ini boleh dicapai dengan menentukan PDO::ATTR_TIMEOUT dalam tatasusunan pilihan pembina.

Kod Contoh:
Kod berikut menunjukkan cara untuk menetapkan tamat masa sambungan 5 saat untuk MySQL sambungan pangkalan data:

<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

Dengan menetapkan PDO::ATTR_ERRMODE kepada PDO::ERRMODE_EXCEPTION, sebarang ralat pangkalan data atau tamat masa akan mencetuskan PDOException, yang boleh ditangkap dan dikendalikan dengan sewajarnya.

Atas ialah kandungan terperinci Bagaimana untuk menetapkan tamat masa sambungan untuk PDO dalam PHP?. 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