Mengkonfigurasi Tamat Masa Curl dalam PHP
Cabaran biasa apabila menjalankan permintaan curl pada set data yang besar ialah masa lanjutan yang diperlukan untuk pangkalan data menjana tindak balas. Untuk menangani perkara ini, pembangun sering cuba menentukan tamat masa curl yang panjang. Walau bagaimanapun, adalah penting untuk memahami pendekatan yang betul untuk menetapkan tamat masa dalam curl.
CURLOPT_CONNECTTIMEOUT lwn. CURLOPT_TIMEOUT
Dokumentasi PHP rasmi (http://www.php. net/manual/en/function.curl-setopt.php) menggambarkan dua tamat masa yang berbeza pilihan:
Dalam coretan kod yang disediakan, CURLOPT_TIMEOUT ialah ditetapkan kepada 1000, tetapi permintaan ditamatkan lebih awal sebelum mencapai tempoh yang ditetapkan. Ini menunjukkan bahawa tamat masa tidak dikonfigurasikan dengan betul.
Konfigurasi Disyorkan:
Berdasarkan dokumentasi, pendekatan yang sesuai adalah seperti berikut:
curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 0); curl_setopt($ch, CURLOPT_TIMEOUT, 400); //timeout in seconds
Dengan menetapkan CURLOPT_CONNECTTIMEOUT kepada 0, kami mendayakan penantian tanpa batas untuk penubuhan sambungan. Pada masa yang sama, menetapkan CURLOPT_TIMEOUT kepada nilai tertentu mengehadkan masa pelaksanaan maksimum.
Pertimbangan Tambahan:
Selain daripada mengkonfigurasi tamat masa curl, adalah penting untuk memanjangkan masa pelaksanaan Skrip PHP itu sendiri menggunakan set_time_limit(). Dengan menetapkannya kepada 0, anda secara berkesan memberikan masa pelaksanaan tanpa had kepada skrip:
set_time_limit(0);// to infinity for example
Melaksanakan pelarasan ini harus memastikan permintaan curl anda menghormati tamat masa yang ditentukan dan membenarkan masa yang mencukupi untuk penjanaan respons pangkalan data.
Atas ialah kandungan terperinci Bagaimana untuk Mengkonfigurasi Tamat Masa Curl dengan Betul dalam PHP untuk Mengendalikan Respons Pangkalan Data Lambat?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!