Php 卷曲文件停止卷曲工作,卷曲错误43
我有一个表单上传一张票到票务系统,我需要用户能够传递附件。一旦我在帖子中添加了一个CURL文件,CURL似乎就停止工作了。我在接收文件中添加了error_logfoo,但没有记录任何内容,这表明请求甚至没有发送 我的代码是:Php 卷曲文件停止卷曲工作,卷曲错误43,php,curl,post,Php,Curl,Post,我有一个表单上传一张票到票务系统,我需要用户能够传递附件。一旦我在帖子中添加了一个CURL文件,CURL似乎就停止工作了。我在接收文件中添加了error_logfoo,但没有记录任何内容,这表明请求甚至没有发送 我的代码是: $data = new CURLFile( $_FILES['attachment']['tmp_name'][0], $_FILES['attachment']['type'][0], $_FILES['attachment']['name'][0
$data = new CURLFile(
$_FILES['attachment']['tmp_name'][0],
$_FILES['attachment']['type'][0],
$_FILES['attachment']['name'][0]
);
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, 'http://192.168.0.56/api-test/foo.php');
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, [
'some_file' => $data
]);
$response = curl_exec($ch);
var_dump($response);
变量转储输出:boolfalse
无输出:43
旋度误差不会产生任何结果
CURLOPT_详细和错误$ch输出:
* Hostname 192.168.0.56 was found in DNS cache
* Trying 192.168.0.56...
* Connected to 192.168.0.56 (192.168.0.56) port 80 (#0)
* Connection #0 to host 192.168.0.56 left intact
对于将来遇到此错误的任何人来说,权限就是问题所在。我添加了一个脚本,将文件保存到一个文件夹中,而不是上传时的临时文件夹,然后对保存的文件运行上面的代码,结果成功了。调试时,使用var_dump,而不是echo。调试curl时,还要使用CURLOPT_VERBOSE和curl_errno以及curl_error。修复这些问题,获得var_dump、CURLOPT_VERBOSE和error$ch的结果,然后返回hi@hanshenrik,完成了,请参阅修改后的答案嗯,有趣的是,43是CURLE_BAD_FUNCTION_参数:内部错误。使用错误的参数调用了函数。-将错误检测添加到curl_setopt中,如函数ecurl_setopt$ch,int$option,$value:bool{$ret=curl_setopt$ch,$option,$value;if!$ret{throw new RuntimeException'curl_setopt failed.errno:'.curl_errno$ch'。错误:'.curl_error$ch;}返回true;},并使用它代替curl_setopt,看看它是否在我运行过你的代码的某个地方失败,而他们似乎都没有抛出异常。这非常令人困惑。如果我删除'some_file'=>$数据,并用some_value=>1替换它,则会建立连接。我想知道权限问题是否会发生在某个地方。