显然,我搜索了错误--但是PHP (PH7.4.4 (cli)) curl给出了错误:
具有以下代码的Curl error: operation aborted by callback
:
private function curl_post($url,$post,$file = null,$file_type = 'audio/wav'){
$ch = curl_init($url);
if (!empty($file)){
$post['SoundFile'] = new CURLFile(UPLOAD_PATH.$file,$file_type,$file);
}
// Assign POST data
curl_setopt($ch, CURLOPT_POST,1);
curl_setopt($ch, CURLOPT_POSTFIELDS,$post);
curl_setopt($ch, CURLOPT_HEADER, 0);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
$result = curl_exec($ch);
if(curl_errno($ch)) echo 'Curl error: '.curl_error($ch);
curl_close($ch);
print'<pre>Curl (rec): '."\n";print_r($result);print'</pre>';
}
我控制了这两台(Ubuntu)服务器,并重新启动了它们。我发布了相当多的数据,但在谷歌搜索中,这似乎并不是触发curl_error的原因。有人知道是什么导致的吗?它的was
工作非常好,然后它停止了。
此外,在我的接收服务器中使用file_put_contents(time().'.txt','log');
作为中断,会记录响应。所以它明显地降落在正确的区域。
另外,我要说的是,这两个服务器通过curl相互交谈了很多次(因此,一个服务器会卷到一个服务器上,然后稍微后退一点)。此外,错误42是卷曲响应,但是https://curl.haxx.se/libcurl/c/libcurl-errors.html
似乎没有提供太多帮助。我试着跟踪彼此之间的各种调用,但不知道为什么会中断--在post/调用发生之前,它会出错/中断。
发布于 2020-08-10 16:09:11
所以我找到了答案,我希望这能帮助其他人在这种情况下。原因是因为CURLFile
的服务器上丢失了该文件(以前曾在那里)。我的代码现在是:
if (!empty($file) && is_file(UPLOAD_PATH.$file)){
$post['SoundFile'] = new CURLFile(UPLOAD_PATH.$file,$file_type,$file);
}
这就不再产生错误了。关键是它甚至在提交帖子之前就错误了,但是这个错误本身并没有多大帮助,直到我在一个单独的测试脚本中分解它,并将文件元素重新添加进来。
https://stackoverflow.com/questions/63341704
复制相似问题