gpt4 book ai didi

php - cURL + Laravel Valet + dnsmasq 不工作

转载 作者:可可西里 更新时间:2023-11-01 13:35:38 25 4
gpt4 key购买 nike

当我执行一个 PHP 脚本,它运行一个 cURL 请求到我的 Mac 上使用 Laravel Valet/dnsmasq 设置的 .test 域时,我打印了这个错误:

Could not resolve: mydomain.test (Domain name not found)

当我在浏览器中测试域时,它没问题。
当我在终端中运行 curl -Ik https://mydomain.test 时,我得到了 HTTP/2 200 代码,所以没问题。
当我在终端中运行 curl -k https://mydomain.test 时,我得到了页面的源代码,所以没问题。

为什么它不能与 PHP 中的 cURL 一起使用?我很绝望...

更新

由于大众需求 ;-) 这是我的 cURL 代码。你不能做得更简单:

try {
$ch = curl_init( "http://mydomain.test" );
curl_exec( $ch );
dump(curl_error($ch));
curl_close( $ch );
} catch (Exception $e) {
var_dump($e);
}

最佳答案

这个问题是由 curl 版本引起的,你能从终端检查你的 curl 版本吗

curl --versionphp --ri curl

当您运行 php --ri curl 时,您将看到 cURL Information => 7.63.0 这一行。

然后你可以比较你的版本,你会看到哪个 curl 版本不能与 dnsmasq 一起工作。

我遇到了这个问题,我的php curl版本是7.64.0。


为了解决这个问题:

您可以卸载curl-openssl,此命令将删除最新版本的curl-openssl:

brew uninstall curl-openssl --ignore-dependencies

然后重启php:

brew services restart php

重启后php会看到curl是/usr/bin/curl,这个版本可以访问本地域。

关于php - cURL + Laravel Valet + dnsmasq 不工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54688451/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com