English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

حل مشكلة إعداد وقت الصلاحية عند طلب PHP من عنوان خارجي

يوضح هذا المقال كيفية إعداد وقت انقضاء الطلب لطلبات PHP إلى عناوين خارجية، وهو يركز على كيفية إعداد وقت انقضاء الطلب لـ file_get_contents، fopen، curl هذه الدوال البسيطة والمستخدمة بشكل شائع، ويُنصح عادةً باستخدام curl، حيث يكون أداؤه أفضل، وسرعته أعلى.

1、إعداد وقت انقضاء الطلب file_get_contents

$timeout = array(
'http'=> array(
'timeout'=>5//إعداد وقت انقضاء زمني، وحدة القياس ثانية
)
);
$ctx = stream_context_create($timeout);
$text = file_get_contents("https://ar.oldtoolbag.com/",0, $ctx);

2、إعداد وقت انقضاء الطلب fopen

$timeout = array(
'http' => array(
'timeout' => 5 // إعداد وقت انقضاء زمني، وحدة القياس ثانية
)
);
$ctx = stream_context_create($timeout);
if ($fp = fopen("https://ar.oldtoolbag.com/", "r", false, $ctx)) {
while( $c = fread($fp, 8192)) {
echo $c;
}
fclose($fp);
}

3、إعداد وقت انقضاء الطلب curl

CURL هو مكتبة lib الشائعة لاستدعاء واجهات بروتوكول HTTP، مع أداء عالي وبعض الوظائف المتعلقة بالتوازي إضافية.

curl_setopt($ch, opt) يمكنه تعيين بعض الإعدادات الزمنية، بما في ذلك بشكل رئيسي:

a 、CURLOPT_TIMEOUT الوقت الأقصى الذي يسمح به cURL للتنفيذ، بمقياس الثواني.

b、CURLOPT_TIMEOUT_MS الوقت الأقصى الذي يسمح به cURL للتنفيذ، بمقياس الميليسي ثانية.

c、CURLOPT_CONNECTTIMEOUT الوقت الذي يتم انتظاره قبل بدء الاتصال، إذا تم تعيينه على 0، يتم انتظار الاتصال إلى أجل غير مسمى.

d、CURLOPT_CONNECTTIMEOUT_MS الوقت الذي يتم انتظاره لاتصال المحاولة، بمقياس الميليسي ثانية. إذا تم تعيينه على 0، يتم انتظار الاتصال إلى أجل غير مسمى. e、CURLOPT_DNS_CACHE_TIMEOUT الوقت الذي يتم فيه حفظ معلومات DNS في الذاكرة، ويكون افتراضياً 120 ثانية.

$ch = curl_init();
curl_setopt($ch, CURLOPT_URL,$url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER,1);
curl_setopt($ch, CURLOPT_TIMEOUT,60);  //يمكنك فقط تعيين عدد الثواني
curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);
curl_setopt($ch, CURLOPT_USERAGENT, $defined_vars['HTTP_USER_AGENT']);

هذا هو محتوى الحلول الكامل لمشكلة تعيين وقت التبكير الزمني في طلبات PHP عن بُعد الذي قدمته لك إدارة الموقع، نأمل أن تستمتعوا بدعم وتشجيع دروس الصيغة~

أعجبك هذا