日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > php >内容正文

php

[译]php和curl_multi_exec

發布時間:2025/5/22 php 43 豆豆
生活随笔 收集整理的這篇文章主要介紹了 [译]php和curl_multi_exec 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

本文是PHP and curl_multi_exec的翻譯

這篇文章闡述了如何從curl_multi句柄獲取數據。不久前,我將這段代碼片段貼到了一個更大的示例代碼中:

<?php$active = NULL;do {$ret = curl_multi_exec($multi, $active);} while ($ret == CURLM_CALL_MULTI_PERFORM);while ($active && $ret == CURLM_OK) {if (curl_multi_select($multi) != -1) {do {$mrc = curl_multi_exec($multi, $active);} while ($mrc == CURLM_CALL_MULTI_PERFORM);}} ?>

我之前沒有真的去查過文檔試圖理解過它。所以這段代碼讓我感到困惑。現在我來解釋下它都做了什么。
首先,這里有兩個外層的循環。第一個負責清除curl緩存。第二個負責等待更多的數據,并且獲取到這些數據。這就是一個典型的阻塞I/O例子。我們阻塞住剩下程序的執行直到網絡I/O的結束。盡管這不是處理網絡I/O最合適的方法,但對于單進程、同步的PHP,這實際上是我們僅有的選擇。

讓我們先來看下第一層循環:

<?php$active = NULL;do {$ret = curl_multi_exec($multi, $active);} while ($ret == CURLM_CALL_MULTI_PERFORM); ?>

curl_multi_exec嘗試從multi句柄中獲取寫數據。$multi是之前調用curl_multi_init()方法產生的句柄,$active和$ret都是整型的值。
curl_multi_exec()把$active設為正在處理的句柄個數。換句話說,如果你正在用這個句柄請求5個URL,那么curl_multi_exec將返回5當它正在處理所有的5個URL(應該是指curl_multi_exec設$active為5),然后當每個請求結束時,這個數字將會逐漸減少直到0。

$ret是如下值的一種:

  • CURLM_CALL_MULTI_PERFORM (-1):這意味著你需要再次調用curl_multi_exec(),因為仍有數據可供處理。
  • CURLM_OK(0):如文檔中所說:“都好了”。這意味著可能有更多的數據,但還沒有到呢。
  • 錯誤碼中的一個:CURLM_BAD_HANDLE ,CURLM_OUT_OF_MEMORY ,CURLM_INTERNAL_ERROR ,CURLM_BAD_SOCKET 。所有這些表明我們需要停止處理。

所以當我們正在執行第一層循環,唯一需要我們繼續迭代的情況就是CURLM_CALL_MULTI_PERFORM。

現在,對于一些相當小的情況,第一層循環就是你所需要的。然而通常的情況是,第一層循環會返回CURL_OK來表明還會有更多的數據,但是這些數據還沒有在網絡上傳輸過來呢。

我們需要wait。

這時候我們就需要第二層循環:

<?phpwhile ($active && $ret == CURLM_OK) {if (curl_multi_select($multi) != -1) {do {$mrc = curl_multi_exec($multi, $active);} while ($mrc == CURLM_CALL_MULTI_PERFORM);}} ?>

這層循環是說...

(while): 只要有活躍的連接,一切還看著都OK…(if) 如果網絡socket還有些數據…(do/while) 只要系統告訴我們要一直去獲取數據,我們就處理吧

所以第二層循環負責檢查套接字直到一切就緒。
PHP手冊對這些東西的細節有稍微的介紹,但是libcurl C的文檔更加的完整。

總結

以上是生活随笔為你收集整理的[译]php和curl_multi_exec的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 成人一级片| 99re久久精品国产 | 久草中文在线 | a级无遮挡超级高清-在线观看 | 黄页av | 蜜桃臀av一区二区三区 | 91美女高潮出水 | 懂色av一区二区三区四区 | 大肉大捧一进一出好爽 | 欧美激情一区二区三区 | 日韩欧美亚洲一区 | 日韩美女爱爱 | 国产区精品在线观看 | 91们嫩草伦理 | 欧美女同在线 | 日本wwwxxx | 成人毛片视频在线观看 | 国产极品美女高潮无套在线观看 | 你懂的av在线 | 日韩一区二区高清视频 | 日日操日日操 | 色综合免费视频 | 午夜影片 | 福利在线一区 | 精品国产精品国产偷麻豆 | av国产一区 | 精品久久一区二区 | 国产精品久久久久久久久久久久午夜片 | 天天爽天天 | 色射色 | 91福利视频在线 | 久久人人视频 | 亚洲成a人片 | 刘亦菲一区二区三区免费看 | 日韩av一区二区三区四区 | 乱一色一乱一性一视频 | 无码国产69精品久久久久同性 | 欧美高清一区二区 | 激情小说五月天 | 91系列在线观看 | 青青草这里只有精品 | 国产操比视频 | 永久免费看黄网站 | 亚洲一区二区自拍 | 岳奶大又白下面又肥又黑水多 | 国产999精品 | 国产成人 综合 亚洲 | 国产美女av在线 | 欧美在线性爱视频 | 六月综合| 99热综合| 精品一区二区在线观看视频 | 超碰夜夜 | 午夜精品久久久久久久 | 国产老妇伦国产熟女老妇视频 | 九九精品国产 | 一本综合久久 | 手机在线看片日韩 | 欧美少妇bbw | 亚洲精品乱码久久久久久不卡 | 91在线导航 | 一区免费在线观看 | 欧美婷婷六月丁香综合色 | 91chinese在线 | 国产欧美在线观看不卡 | 日韩精品中文字幕一区 | 精品国产av色一区二区深夜久久 | 一道本久在线中文字幕 | 国产高潮呻吟久久 | 人操人视频 | 三级黄色短视频 | 狂野欧美性猛交xxⅹ李丽珍 | 丁香九月婷婷 | 日韩在线毛片 | 亚洲精品久久久 | 久久密av| 国产99在线播放 | 夜夜嗨影院 | 国产精品aaaa| 成人依依| 亚洲一区www| 亚洲视频一区二区在线观看 | 91视频在线观看网站 | 麻豆网站入口 | 精品无码久久久久久久久成人 | 不卡视频一区二区三区 | 亚洲色图18p | 特黄特色特刺激免费播放 | 国产免费看av | 夜夜天堂| 国产精品日韩av | 国产高清精品软件丝瓜软件 | 91国产视频在线观看 | 欧美亚洲久久 | www.av欧美| 8x8ⅹ8成人免费视频观看 | 亚洲精品一区二区三区新线路 | 成人激情视频在线观看 | 青青草一区二区 |