Проблема с запросом CURL POST, предупреждение о параметре curl_setopt () - PullRequest
0 голосов
/ 16 мая 2018

Пытался отправить запрос на публикацию с телом XML, используя CURL, но постоянно получая следующую ошибку,

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 голосов
/ 16 мая 2018

Я думаю, что предупреждение относится к опции CURLOPT_MUTE.В соответствии с документами , CURLOPT_MUTE было удалено в cURL 7.15.5:

CURLOPT_MUTE TRUE, чтобы быть полностью бесшумным в отношении функций cURL.
Удалено в cURL7.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 как строку, отсюда и предупреждение.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...