curl_share_init()

1. 定义

该函数初始化一个curl共享句柄。

注:

  • 共享句柄:加入该共享句柄的curl句柄,可以与其他加入该共享句柄的curl句柄共享数据。

2. 语法

curl_share_init ( void ) : resource

3. 参数说明

该函数不传入任何参数。

4. 示例

<?php

// curl_share_init()
// 初始化一个curl共享句柄

$sh = curl_share_init();// 新建一个共享句柄
curl_share_setopt($sh, CURLSHOPT_SHARE, CURL_LOCK_DATA_COOKIE);// 为共享句柄设置选项,这里设置共享 cookie 数据

$ch1 = curl_init();
curl_setopt($ch1, CURLOPT_URL, 'http://loripsum.net/api/5/short/headers');
curl_setopt($ch1, CURLOPT_SHARE, $sh);// 将该句柄设置到共享句柄`$sh`中,使该句柄可以处理`$sh`中共享的数据

$ch2 = curl_init();
curl_setopt($ch2, CURLOPT_URL, 'http://loripsum.net/api/2/short/a/b/i');
curl_setopt($ch2, CURLOPT_SHARE, $sh);// 将该句柄设置到共享句柄`$sh`中,使该句柄可以处理`$sh`中共享的数据

// 此时执行第二个curl句柄,它可以使用 第一个curl句柄中存在的 cookie
curl_exec($ch2);

// 关闭共享句柄,此时 $ch1 和 $ch2 不能共享数据了
curl_share_close($sh);

// 关闭curl句柄
curl_close($ch1);
curl_close($ch2);

5. 延展阅读