Скручиваемость: отображение & quot; Не удается разрешить доменное имя & quot; ошибка всех локальных сайтов от переполнения стека

Сегодня мой 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 в качестве инструмента динамического разрешения хоста.

  • ОПЕРАЦИОННЫЕ СИСТЕМЫ: MacOs High Siera
  • Apache: 2.4.37
  • PHP: Несколько версий PHP, от 5.6-7.3

Некоторая отладочная информация:

  • Пинг в этот домен с терминала работает нормально (показывает localhost)
  • Все работает нормально, даже если я бегу curl -v local-domain.test из терминала
  • Я пытался использовать CURLOPT_DNS_USE_GLOBAL_CACHEвариант.
  • Очистил весь DNS-кеш моей машины из терминала

Может быть, я забыл добавить что-то к php.ini каждого PHP? Кроме того, все работало нормально, пока я не обновил их все.

2

Решение

Задача ещё не решена.

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]