【发布时间】:2016-11-08 13:17:51
【问题描述】:
我有一个在 Google App Engine 上持续运行并测试我们的主要产品的应用程序。我不经常更改它,但在昨晚(星期二早上)凌晨 4 点,curl 方法停止工作 - 我通过检查应用程序的日志知道这一点。
我最初认为这是由于我们产品的 api 出现故障,但经过深入研究后,似乎请求返回的状态代码为 0,甚至没有到达 api 服务器。
来自 curl 请求的错误是: (我也正确设置了 php.ini 文件。)
Couldn't resolve host '{our_api_url}'
我已经与我们的开发人员进行了彻底的检查,这确实与我们的主要产品无关,我们的 api 工作正常,我找不到我的代码有任何问题。
这是卷曲代码:
$ch = curl_init();
$curl_url = {api_url};
$headers = array('Authorization: Basic {encoded_credentials});
curl_setopt($ch, CURLOPT_URL, $curl_url);
curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 0);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, 0);
curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 0);
curl_setopt($ch, CURLOPT_TIMEOUT, 60);
curl_setopt($ch, CURLOPT_HEADER, 1);
$debug = curl_getinfo($ch);
$out = curl_exec($ch);
$error = curl_error($ch);
$status_code = curl_getinfo($ch, CURLINFO_HTTP_CODE);
$header_size = curl_getinfo($ch, CURLINFO_HEADER_SIZE);
$header = substr($out, 0, $header_size);
$body = substr($out, $header_size);
curl_close($ch);
有什么办法可以解决吗?
【问题讨论】:
-
主机解析通常是指DNS。要进一步解决您的问题,您必须提供更多详细信息。
-
您还想了解哪些详情?
-
our_api_url(如果你可以公开共享它,或者它的编辑版本),堆栈跟踪,在运行该程序的 php 服务器的控制台中运行host our_api_url的输出。另外,如果我没记错的话(我写任何 PHP 已经有一段时间了),您可以从失败的 curl 调用中获取错误详细信息。 -
是的,我发布的错误消息是 curl 调用失败的错误
-
我也有这个问题,这不是 PHP 问题,而是与 GAE 相关的问题。 @user5331188 你能分享你的 php.ini 吗?
标签: php google-app-engine curl