नीचे दी गई स्क्रिप्ट अनिश्चित काल तक संचालित होगी और php myscript.php
का उपयोग करके शुरू की जाएगी।curl_close() का उपयोग कब किया जाना चाहिए?
http://example.com/longpolling.php केवल तभी जवाब देगा यदि उसके पास php myscript.php
पर संवाद करने के लिए कुछ है, और नीचे कर्ल अनुरोध लंबे समय तक चलने से पहले टाइमआउट होगा। Php इसकी समय सीमा तक पहुंच जाएगा।
क्या मुझे प्रत्येक लूप को कर्ल कनेक्शन बंद करना और दोबारा खोलना चाहिए, या इसे अनिश्चित काल तक खोलना चाहिए।
<?php
// php myscript.php
$options=[
CURLOPT_URL=>'http://example.com/longpolling.php',
CURLOPT_RETURNTRANSFER=>true,
CURLOPT_CONNECTTIMEOUT => 300,
CURLOPT_TIMEOUT=> 300
];
$ch = curl_init();
curl_setopt_array($ch, $options);
while (true) {
$rsp = curl_exec($ch);
// Do something
//curl_close($ch); //should I close and reopen?
}
यदि आप लूप के दौरान 'curl_close' का उपयोग करते हैं, तो आपको फिर से कर्ल प्रारंभ करना होगा। क्योंकि curl_init, curl_setopt(), curl_exec(), और curl_close() फ़ंक्शंस के साथ उपयोग के लिए एक नया सत्र प्रारंभ करता है और एक curl हैंडल देता है। – Kumar
@ कुमार सटीक रूप से। क्या ऐसा करने के लिए कोई स्मृति/प्रदर्शन/विश्वसनीयता कारण हैं? – user1032531
@apokryfos मैं यह नहीं कह रहा हूं कि ऐसा करने का अधिकार है, लेकिन ऐसा लगता है कि यह इसे खोलने के लिए सही काम करता है। क्या यह दस्तावेज है कि यह "एक अनुरोध को संभालना है"? – user1032531