今天,我的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;
}
Run Code Online (Sandbox Code Playgroud)
如果我将该主机添加到我的/ etc / hosts /文件中,那么所有主机都将开始工作,但是我拥有大量的域,并且在更新PHP之前,我都可以正常工作。我正在使用dnsmasq作为动态主机解析工具。
一些调试信息:
curl -v local-domain.test从终端运行,一切都很好CURLOPT_DNS_USE_GLOBAL_CACHE选项。也许我忘了php.ini在每个PHP中添加一些内容?另外,在我对它们全部进行更新之前,它们都工作良好。
小智 2
跑步:
brew uninstall curl-openssl --ignore-dependencies
Run Code Online (Sandbox Code Playgroud)
(删除最新版本的curl-openssl,确保您的系统和 PHP 使用的 curl 版本之间的奇偶校验)
...然后是valet restart
...允许本地curl正确解析代客主机名。
| 归档时间: |
|
| 查看次数: |
801 次 |
| 最近记录: |