为了账号安全,请及时绑定邮箱和手机立即绑定

Curl 错误:操作被回调中止

Curl 错误:操作被回调中止

PHP
拉风的咖菲猫 2023-09-22 16:06:38
所以我显然已经用谷歌搜索了错误 - 但 PHP (PHP 7.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 是 CURL 响应,但https://curl.haxx.se/libcurl/c/libcurl-errors.html似乎没有提供太多帮助。我尝试过跟踪彼此之间的各种调用,但看不出它为什么会中断 - 它在发布/调用发生之前就出现错误/中断。
查看完整描述

1 回答

?
白衣染霜花

TA贡献1796条经验 获得超10个赞

所以我找到了答案,我希望这对处于这种情况的其他人有所帮助。原因是因为该文件在服务器上丢失CURLFile(以前就在那里)。我的代码现在是这样的:

    if (!empty($file) && is_file(UPLOAD_PATH.$file)){
            $post['SoundFile'] = new CURLFile(UPLOAD_PATH.$file,$file_type,$file);
    }

这不再产生错误。关键是它甚至在提交帖子之前就出错了,但错误本身并没有多大帮助,直到我在单独的测试脚本中将其分解并将文件元素添加回来。


查看完整回答
反对 回复 2023-09-22
  • 1 回答
  • 0 关注
  • 406 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信