CURL POST请求问题,获取curl_setopt()参数警告

时间:2018-05-16 03:13:30

标签: php curl post

尝试使用CURL发送带有XML正文的发布请求,但不断收到跟踪错误,

Warning: curl_setopt() expects parameter 2 to be long, string given

我正在使用以下CURL请求,

$ch = curl_init(POST_URL);

curl_setopt($ch, CURLOPT_MUTE, 1);
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 1);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, 1);
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_HTTPHEADER, array('Content-Type: text/xml'));
curl_setopt($ch, CURLOPT_POSTFIELDS, "$xml");
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);

$output = curl_exec($ch);
curl_close($ch);

1 个答案:

答案 0 :(得分:0)

我认为警告是指CURLOPT_MUTE选项。根据{{​​3}},在{cURL 7.15.5中删除了CURLOPT_MUTE

  

CURLOPT_MUTE T​​RUE在cURL函数方面完全无声。
  在cURL 7.15.5中删除(您可以使用CURLOPT_RETURNTRANSFER)

运行代码(PHP 5.5.35,报告所有错误)时,我收到通知:

Notice:  Use of undefined constant CURLOPT_MUTE - assumed 'CURLOPT_MUTE' 

然后发出警告:

Warning: curl_setopt() expects parameter 2 to be long, string given

因此,似乎PHP将CURLOPT_MUTE解释为字符串,因此警告。