Curl error: operation aborted by callback

Curl error: operation aborted by callback

所以我显然用谷歌搜索了错误 - 但是 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)台服务器并且都重新启动了它们。我发布了大量数据,但在 Google 搜索中,这似乎不是触发 curl_error 的原因。有谁知道是什么原因造成的?它 was 工作得很好,然后就停止了。

另外将 file_put_contents(time().'.txt','log'); 作为我的接收服务器的中断 确实 记录响应。所以它显然落在了正确的区域。

此外,我要说的是,两台服务器通过 curl 相互交谈了很多次(所以一个卷曲到另一个,然后又退回一点)。此外 - 错误 42 是 CURL 响应,但 https://curl.haxx.se/libcurl/c/libcurl-errors.html 似乎没有提供太多帮助。我已经尝试跟踪彼此之间的各种调用,但看不出它为什么会中断 - 它 errors/breaks 在 post/calls 甚至发生之前。

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

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

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