<span><span><span class="hljs-meta"><?php</span></span><span>
</span><span><span class="hljs-comment">// 這部分與文章內容無關,可以是初始化或者其他設置</span></span><span>
</span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-string">"初始化 PHP 環境...\n"</span></span><span>;
</span><span><span class="hljs-variable">$version</span></span><span> = </span><span><span class="hljs-title function_ invoke__">phpversion</span></span><span>();
</span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-string">"當前 PHP 版本: <span class="hljs-subst">$version</span></span></span><span>\n";
</span><span><span class="hljs-meta">?></span></span><span>
<hr>
</span><span><span class="hljs-meta"><?php</span></span><span>
</span><span><span class="hljs-comment">// 文章正文開始</span></span><span>
</span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-string">"<h1>詳解 curl_multi_add_handle 添加句柄後,如何正確執行請求並處理返回結果?</h1>"</span></span><span>;
</span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-string">"<p>在 PHP 中,使用 <code>cURL
' ; echo " 然後,初始化一個多句柄管理器curl_multi_init() :
" ; echo '<span class="fun">$mh = curl_multi_init();</span>' ; echo "
使用curl_multi_add_handle()將每個單句柄加入管理器:
" ; echo 'curl_multi_add_handle($mh, $ch1);
curl_multi_add_handle($mh, $ch2);
' ; echo " 添加完成後,需要循環執行curl_multi_exec()直到所有請求完成:
" ; echo '$running = null;
do {
$status = curl_multi_exec($mh, $running);
// 可選: 等待文件描述符變化,減少 CPU 佔用
curl_multi_select($mh);
} while ($running > 0);
' ; echo " 請求完成後,可以使用curl_multi_getcontent()獲取每個句柄的返回內容:
" ; echo '$response1 = curl_multi_getcontent($ch1);
$response2 = curl_multi_getcontent($ch2);
echo "Response 1: " . $response1 . "\n";
echo "Response 2: " . $response2 . "\n";
' ; echo " 最後,必須清理資源,先從多句柄管理器移除,再關閉單句柄和多句柄:
" ; echo 'curl_multi_remove_handle($mh, $ch1);
curl_multi_remove_handle($mh, $ch2);
curl_close($ch1);
curl_close($ch2);
curl_multi_close($mh);
' ; echo "使用curl_multi_add_handle後,正確執行並獲取結果的關鍵步驟是:
" ; echo "掌握這些步驟,你就可以高效地進行並發HTTP 請求,同時保證返回數據被正確處理。
" ; ?>