我有一些代码在尝试重用curl上下文来放置请求和获取请求。在每个put请求之后,get请求将失败,并显示以下PHP警告:



我可以使用PHP关闭运算符,但是我宁愿正确地重置curl上下文。有谁知道如何做到这一点?我也可以使用不同的curl上下文,但是我宁愿重用连接,因为应用程序发送了很多请求。我可以将文件句柄保持打开状态,但这似乎是一个棘手的解决方案,尤其是因为这都包装在函数中,因此我可以调用doPut,doGet等

$curlContext = curl_init();
$fh = fopen('someFile.txt', 'rw');
curl_setopt($curlContext, CURLOPT_URL, $someUrl);
curl_setopt($curlContext, CURLOPT_PUT, TRUE);
curl_setopt($curlContext, CURLOPT_INFILE, $fh);
curl_setopt($curlContext, CURLOPT_INFILESIZE, $size);
$curl_response1 = curl_exec($curlContext);
fclose($fh);
curl_setopt($curlContext, CURLOPT_PUT, FALSE);
curl_setopt($curlContext, CURLOPT_HTTPGET, TRUE);
curl_setopt($curlContext, CURLOPT_URL, $someOtherUrl);
$curl_response1 = curl_exec($curlContext);

谢谢。

最佳答案

从PHP 5.5开始,curl_reset可用于重置所有先前的设置选项。

对于PHP

10-05 20:08