Обновив PHP и cURL поймал забавность - старая конструкция, нормально работавшая несколько месяцев
Покурив маны, нашел ошибку в коде - не нужно implode на массив
P.S. "Чем дальше в лес - тем толще партизаны" (с) Ненавижу...
$data = array(
'id' => $id,
);
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, implode('&', $data));
$result = curl_exec($ch);
curl_close($ch);
return json_decode($result);
перестала отправлять в POST данные.Покурив маны, нашел ошибку в коде - не нужно implode на массив
$data = array( 'id' => $id, ); $ch = curl_init(); curl_setopt($ch, CURLOPT_URL, $url); curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); curl_setopt($ch, CURLOPT_POST, 1); curl_setopt($ch, CURLOPT_POSTFIELDS, $data); $result = curl_exec($ch); curl_close($ch); return json_decode($result);Нет, ну понятно - как бы косяк, но тогда вопрос - ПОЧЕМУ ЭТО РАБОТАЛО?
P.S. "Чем дальше в лес - тем толще партизаны" (с) Ненавижу...
Оно у тебя не могло работать.
ОтветитьУдалитьпо тому что нужно было приводить это все в такой вид: "ключ массива"."="."значение массива"."&"
а функция implode работает только со значениями, и не подставляет ни ключа ни равно...
Парадокс в том что - РАБОТАЛО, так как на этот лохматой давности кусок кода даже внимания не обращал.
УдалитьА вот после обновления - вылезло
А ещё значений надо делать urlencode()
ОтветитьУдалить