Сегодня мой cURL начинает показывать мне эту ошибку Could not resolve: {local-domain.test} (domain name not found)
Все работает нормально, если я пытаюсь получить информацию по внешней ссылке, но локальные сайты не работают должным образом.
Итак, вот мой код
public function send($type, $url, $data)
{
$type = strtolower($type);
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, false);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
if ($type == 'post') {
$urlWithData = http_build_query($data);
curl_setopt($ch, CURLOPT_POST, count($data));
curl_setopt($ch, CURLOPT_POSTFIELDS, $urlWithData);
}
$result = curl_exec($ch);
$status = curl_getinfo($ch, CURLINFO_HTTP_CODE);
curl_close($ch);
$out = new \stdClass();
$out->status = $status;
$out->body = json_decode($result, true);
return $out;
}
Все начинают работать, если я добавлю этот хост в мой файл / etc / hosts /, но у меня есть огромный список домена и до обновления PHP
все работало нормально на моей стороне. Я использую dnsmasq в качестве инструмента динамического разрешения хоста.
Некоторая отладочная информация:
curl -v local-domain.test
из терминалаCURLOPT_DNS_USE_GLOBAL_CACHE
вариант.Может быть, я забыл добавить что-то к php.ini
каждого PHP? Кроме того, все работало нормально, пока я не обновил их все.
Задача ещё не решена.
Других решений пока нет …