此示例将创建持久 cURL 共享句柄,并演示它们之间共享连接的功能。如果在长生命周期的 PHP SAPI
中执行,$sh
将在 SAPI 请求之间保持存在。
<?php
// 创建或获取持久 cURL 共享句柄,设置为共享 DNS 查找和连接
$sh = curl_share_init_persistent([CURL_LOCK_DATA_DNS, CURL_LOCK_DATA_CONNECT]);
// 初始化第一个 cURL 句柄并为其分配共享句柄
$ch1 = curl_init("http://example.com/");
curl_setopt($ch1, CURLOPT_SHARE, $sh);
// 执行第一个 cURL 句柄。此操作可能会重用来自先前 SAPI 请求的连接
curl_exec($ch1);
// 初始化第二个 cURL 句柄并为其分配共享句柄
$ch2 = curl_init("http://example.com/");
curl_setopt($ch2, CURLOPT_SHARE, $sh);
// 执行第二个 cURL 句柄。此操作将重用来自 $ch1 的连接
curl_exec($ch2);
?>