(بيزو 5)
curl_multi_exec - قم بتشغيل اتصال فرعي لمقبض cURL الحالي
int curl_multi_exec (المورد $mh، int &$still_running)
معالجة كل مقبض على المكدس. يمكن استدعاء هذه الطريقة ما إذا كان المقبض يحتاج إلى قراءة البيانات أو كتابتها.
م.ه
يتم إرجاع مقابض cURL المتعددة بواسطة curl_multi_init().
لا يزال قيد التشغيل
مرجع إلى معرف يستخدم لتحديد ما إذا كانت العملية لا تزال قيد التنفيذ.
رمز cURL محدد في ثوابت cURL المحددة مسبقًا.
ملاحظة: تقوم هذه الوظيفة بإرجاع الأخطاء المتعلقة بمكدس الدُفعات بأكمله فقط. قد تظل هناك مشكلات في عمليات النقل الفردية حتى عند إرجاع CURLM_OK.
سيقوم هذا المثال بإنشاء مقبضين cURL، وإضافتهما إلى معالج الدُفعات، وتشغيلهما بالتوازي.
<?php// أنشئ زوجًا من موارد cURL $ch1 = curl_init();$ch2 = curl_init();// قم بتعيين عنوان URL والخيارات المقابلة curl_setopt($ch1, CURLOPT_URL, "http://lxr.php.net / ");curl_setopt($ch1, CURLOPT_HEADER, 0);curl_setopt($ch2, CURLOPT_URL, "http://www.php.net/");curl_setopt($ch2, CURLOPT_HEADER, 0);// إنشاء مقبض cURL للدفعة $mh = curl_multi_init();// إضافة مقبضين curl_multi_add_handle($mh ,$ ch1);curl_multi_add_handle($mh,$ch2);$active = null;// تنفيذ مقبض الدفعة do { $mrc = curl_multi_exec($mh, $active);} while ($mrc == CURLM_CALL_MULTI_PERFORM);while ($active && $mrc == CURLM_OK) { if (curl_multi_select ($mh )!= -1) { do { $mrc = curl_multi_exec($mh, $active } while ($mrc == CURLM_CALL_MULTI_PERFORM); }}// إغلاق كافة المقابض curl_multi_remove_handle($mh, $ch1);curl_multi_remove_handle($mh, $ch2);curl_multi_إغلاق($mh);?>