【问题标题】:Curl stopped working in GAECurl 在 GAME 中停止工作
【发布时间】: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


【解决方案1】:

更新 9.11.16

Google 解决了这个问题。

【讨论】:

  • 啊,是的,我注意到它突然开始工作了!谢谢
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-12-11
  • 2013-09-03
  • 2012-04-11
  • 1970-01-01
  • 1970-01-01
  • 2017-11-11
相关资源
最近更新 更多