我有一些代码,我试图重用 curl 上下文来执行放置请求和获取请求。在每个 put 请求之后,get 请求失败并显示此 PHP 警告:
curl_exec():CURLOPT_INFILE 资源已消失,重置为默认值
我可以使用 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);
Run Code Online (Sandbox Code Playgroud)
谢谢。
| 归档时间: |
|
| 查看次数: |
2745 次 |
| 最近记录: |