2016-11-08 31 views
2

我有一个在Google App Engine上不断运行并测试我们的主要产品的应用程序。我不会经常改变它,但是昨晚凌晨4点(星期二早上),curl方法停止工作 - 我通过检查应用程序的日志知道这一点。Curl在GAE中停止工作

我最初认为这是由于我们的产品的api被关闭了,但在更多的研究之后,似乎请求返回的状态码为0,甚至没有到达api服务器。

来自卷边请求的错误是: (我也有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); 

任何想法如何,我可以解决这个问题?

+0

主机解析通常指的是DNS。为了进一步解决您的问题,您必须提供更多详细信息。 – elektronik

+0

你想了解更多细节? – user5331188

+0

'our_api_url'(如果你可以公开地分享它,或者它的编辑版本),堆栈跟踪,运行'host our_api_url'的输出在运行该程序的php服务器的控制台中。另外,如果我没有弄错(自从我编写任何PHP以来已经有一段时间了),您可以从失败的curl调用中获取错误细节。 – elektronik

回答

0

更新9.11.16

Google解决了这个问题。

+0

啊,是的,我注意到它突然开始工作!谢谢 – user5331188