本地 WordPress 站点上的 cURL 返回:错误 6(无法解析主机)

Posted

技术标签:

【中文标题】本地 WordPress 站点上的 cURL 返回:错误 6(无法解析主机)【英文标题】:cURL on local WordPress site returns: Error 6 (Could not resolve host) 【发布时间】:2019-07-06 23:18:32 【问题描述】:

我有一个本地 WordPress 安装运行在:https://catalogue3.test。

请注意,所有.test 域都应解析为localhost,因为我使用Laravel valet。但是,当我在我的 Laravel 项目中执行以下代码时,出现如下所示的异常。

$client = new \GuzzleHttp\Client();
$response = $client->request('GET', "https://catalogue3.test", ['verify' => false]);

连接异常

cURL 错误 6:无法解析:catalogue3.test(域名不 找到)(见http://curl.haxx.se/libcurl/c/libcurl-errors.html

当我在终端中运行以下命令时,会显示 WordPress 页面。

curl https://catalogue3.test/ --insecure

【问题讨论】:

您是否将 catalogue3.test 添加到您的 /etc/hosts 文件中? 不行,Laravel 代客使用 DnsMasq 在 Laravel Valet(无 Wordpress)下运行的 Laravel 应用程序存在同样的问题。你找到解决办法了吗? @MaximeFreschard nop 我没有成功:( @MaximeFreschard 找到了解决方案! 【参考方案1】:

我尝试将域添加到主机并尝试更改网络设置中的 dns,this answer 对我有用。

检查这是否是您的问题的快速方法是:curl --versionphp --ri curl

版本应该匹配。如果他们不这样做,可能是因为 brew 已安装 curl-openssl。这可以通过以下方式删除:

brew uninstall curl-openssl --ignore-dependencies

也许有一种方法可以正确配置已安装的 curl-openssl - 我还没有对此进行调查。

【讨论】:

我永远不会想到这一点。不过这行得通! 像魅力一样工作。运行brew uninstall curl-openssl --ignore-dependencies 后,您需要使用valet restart 重新启动代客。【参考方案2】:

在我的情况下(在 macos 上),我必须在我的 WiFi 设置中添加 127.0.0.1 作为第一个 DNS 服务器选项。

这里也有一些有用的信息:https://github.com/laravel/valet/issues/736

【讨论】:

【参考方案3】:

添加

ip catalogue3.test

到您的 /etc/hosts 文件

【讨论】:

【参考方案4】:

我解决了这个添加 catalogue3.test 到/etc/hosts 的问题,即使我使用的是DnsMasq,理论上我也不需要它。

【讨论】:

以上是关于本地 WordPress 站点上的 cURL 返回:错误 6(无法解析主机)的主要内容,如果未能解决你的问题,请参考以下文章

Wordpress:将本地主机数据库导入实时站点时出现问题

php 用于通过cURL测试收集WordPress站点和服务器信息的独立脚本

尝试在本地测试 WordPress 站点时出现数据库错误(由 WooCommerce 引起?)

PHP CURL 对于本地主机来说太慢了

PHP CURL 对于本地主机来说太慢了

Wordpress API 提交帖子