Сегодня мой 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?Кроме того, все работало нормально, пока я не обновил их все.