今天,我的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的php.ini
中添加一些内容?另外,在我对它们全部进行更新之前,它们都工作良好。
答案 0 :(得分:1)
This answer为我工作。
运行:
brew uninstall curl-openssl --ignore-dependencies
(删除了curl-openssl
的最新版本,以确保系统使用的curl版本和PHP之间的奇偶性)
...然后是valet restart
...允许本地curl
正确解析代客主机名。