我在错误"Couldn't resolve host '...'"
方面遇到了麻烦。我还研究了许多主题,但找不到解决方法。
第一次,同样的代码,我可以毫无问题地做curl
。但今天它突然停止工作。这是我的尝试
- 与我的本地主机中的代码相同,
curl
工作正常。 -
在我的服务器
CentOs 6
(使用Cpanel
Whm)中,我的目录结构如下所示- public_html
- -易网站文件夹
- -curl_test.php
我可以curl_test.php
运行curl
到同一个 URL,没有问题,它工作正常。即使我把curl_test.php
放在 YiiWebsiteFolder 中,它也有效,所以问题不会不是权限。
但是如果我运行相同的代码通过Yii
(YiiWebsiteFolder)调用curl
,在Yii控制器和操作中运行它,它会引发错误'Couldn't resolve host ...'.
(我的URL重写很正常,我的网站URL看起来像" mydomain.com/index.php/test/myaction
")
所以我猜原因可能是Yii
,不是像一些帮助主题所说的DNS问题。
http://forums.cpanel.net/f34/file_get_contents 无法解析主机名 120065.html
无法解析主机和 DNS 解析失败
我的本地机器和我的服务器的 Yii 配置main.php
文件都是相同的。
编辑:我发现这个人和我有同样的问题
cURL 在 PHP 应用程序中使用并通过 Web 浏览器运行>时
不起作用cURL 在 PHP 应用程序中使用并运行时不起作用 通过网络浏览器。但是,与cURL相同的PHP页面在运行时 通过终端,做它应该做的事情并获取 我想要的信息
但是他发现问题是DAEMON数组,但我不使用Apache DAEMON(即使我不确定它是什么)。
我已经尝试了所有可能的解决方案,例如重新启动我的网络和我的 apache 以更改它们启动时的顺序,修改etc/resolv.conf
/(添加或删除 12.0.0.1 并尝试一些公共 DNS)
服务网络停止
服务网络启动
服务网络重启
/sbin/service httpd stop
/sbin/service httpd start
我花了很多时间来解决问题,但根本没有成功。任何帮助真的非常感谢。
这并不能解决您的特定问题,但我想我应该发帖说我有同样的问题,因为当 PHP 脚本从 Web 浏览器运行时,PHP cURL 无法解析任何主机名,但从终端命令行运行的相同脚本工作正常(即 cURL 解析主机名以返回预期的响应)。就我而言,它通过以下方式解决:
/sbin/service httpd stop
/sbin/service httpd start