2

我在错误周围遇到了麻烦"Couldn't resolve host '...'"。我还研究了许多主题,但找不到解决方法。

第一次,相同的代码,我可以curl毫无问题地做。但是今天它突然停止工作了。这是我的尝试

  1. 我的本地主机中的代码相同,curl工作正常。
  2. 在我的服务器CentOs 6(使用CpanelWhm)中,我的目录结构如下所示

    • public_html
    • -Yii网站文件夹
    • -curl_test.php

我可以毫无问题地运行curl到相同的 URL ,它运行良好。curl_test.php即使我把curl_test.phpYiiWebsiteFolder 放在里面,它也可以工作,所以问题不会出在权限上。

curl但是如果我运行相同的代码来调用Yii(YiiWebsiteFolder),在 Yii 控制器和动作中运行它,它会引发错误'Couldn't resolve host ...'. (我的 URL 重写很正常,我的站点 URL 看起来像“ mydomain.com/index.php/test/myaction”)

所以我猜原因可能是Yii,不是像一些帮助主题所说的DNS 问题。

http://forums.cpanel.net/f34/file_get_contents-couldnt-resolve-host-name-120065.html

无法解析主机和 DNS 解析失败

main.php我的本地机器和服务器的Yii 配置文件都是一样的。

编辑:我发现这个人和我有同样的问题

cURL 在 PHP 应用程序中使用并通过 Web 浏览器运行 > 时不起作用

cURL 在 PHP 应用程序中使用并通过 Web 浏览器运行时不起作用。但是,当通过终端运行时,带有 cURL 的同一个 PHP 页面会执行它应该做的事情并获取我想要的信息

但他发现问题出在 DAEMON 阵列上,但我不使用 Apache DAEMON(即使我不确定它是什么)。

我已经尝试了所有可能的解决方案,例如重新启动我的网络和我的 apache 以更改它们启动时的顺序,修改etc/resolv.conf/(添加或删除 12.0.0.1 并尝试一些公共 DNS)

服务网络停止

服务网络启动

服务网络重启

/sbin/service httpd 停止

/sbin/service httpd 启动

我花了很多时间来解决问题,但根本没有成功。非常感谢任何帮助。

4

1 回答 1

1

这并不能解决您的具体问题,但我想我应该发布说我遇到了同样的问题,因为当 PHP 脚本从 Web 浏览器运行但相同的脚本从终端命令行运行时,PHP cURL 无法解析任何主机名工作正常(即 cURL 解析主机名以返回预期的响应)。就我而言,它已通过以下方式解决:

/sbin/service httpd 停止

/sbin/service httpd 启动

于 2013-10-02T07:12:44.623 回答