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.
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>
Dalam coretan kod ini:
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!