PHP 中的 curl 连接重用


curl connection reuse in php

我在php应用程序中使用curl。它看起来像(简化):

$handle = curl_init();
curl_exec($handle);
curl_close($handle);

正如《坚持是幸福之道》一章所写,

对同一主机使用相同的简单句柄的后续请求可能只能使用已打开的连接!这大大减少了网络影响。

那么,它是否适用于此代码?是否会保存连接并curl_init()使用现有连接?如果是 - 它们存储多长时间?

我自己还没有测试过这个,但我认为它应该如何工作:

您创建一个 curl 实例:

$handle = curl_init();

然后设置选项,例如URL,方法(发布或获取)和查询字符串:

curl_setopt($handle, CURLOPT_URL, "http://stackoverflow.com");

执行请求:

curl_exec($handle); // execute the request
更改

选项,例如更改 URL:

curl_setopt($handle, CURLOPT_URL, "http://stackoverflow.com/test/");

再次执行请求,它应该能够重用已经打开的连接:

curl_exec($handle);

您可以使用同一个 curl 实例多次执行此操作,如果可能,它将重用连接。

最后关闭连接并在完成后删除 curl 实例:

curl_close($handle);