【问题标题】:Google Analytics API V3 - HTTP Error: Unable to connect on live server (localhost works fine)Google Analytics API V3 - HTTP 错误:无法在实时服务器上连接(本地主机工作正常)
【发布时间】:2014-02-21 02:02:06
【问题描述】:

(我正在使用这个库的最新版本:https://github.com/google/google-api-php-client

简而言之,我的脚本在 localhost 上运行良好,但每当我上传到我们的生产或暂存环境时,它都会失败。

我现在正在使用本教程中的一个非常简单的测试脚本:http://blog.salteh.net/2012/10/google-analytics-api-and-service-accounts/

同样,这在 localhost 上完美运行,但在我们的生产和登台服务器上出错。

错误是:

HTTP Error: Unable to connect

从我们的错误日志中,我们得到:

2014-01-29 10:14:43  /classes/google-api-php-client-read-only/src/Google/IO/Stream.php  115 php_error   {"error_message":"file_get_contents(compress.zlib:\/\/https:\/\/accounts.google.com\/o\/oauth2\/token): failed to open stream: operation failed"}   php_error

我认为这一定是由于 file_get_contents() 无法正常工作或 zlib 压缩出错。

因此,我创建了一个简单的脚本来测试 (https://gist.github.com/jonmilsom/7771566cf55e042b4826),但这在 localhost 以及暂存和生产环境中都可以正常工作....如何进一步调试它?

【问题讨论】:

    标签: google-analytics google-api file-get-contents zlib google-api-php-client


    【解决方案1】:

    要进一步调试,您可以转到位于 /src/Google/IO/Stream.php 的 API 客户端库并查找该行

    throw new Google_IO_Exception("HTTP Error: Unable to connect");
    

    您可以在上面附加消息...像这样获取 http 错误代码

    throw new Google_IO_Exception("HTTP Error: Unable to connect " . $this->getHttpResponseCode($http_response_header));
    

    如果您想出任何解决方案,请告诉我,您可能需要关注此问题:https://github.com/google/google-api-php-client/issues/75。我的代码在我的本地主机上运行良好,但在我的开发服务器上也运行良好,但我还没有找到解决方案。我通过删除 Stream.php 顶部的 gzip CONST 使 Cloud Storage 正常工作,但 Drive 仍然无法正常工作,我认为这一切都必须相关。

    编辑:看看我链接的问题,基本上你应该尝试在 Config.php 中将 gzip 设置为禁用 - 这为我解决了问题。

    我发现这个问题与我的本地主机和服务器之间的不同 PHP 版本有关

    我在这里提交了一个新问题: https://github.com/google/google-api-php-client/issues/78

    【讨论】:

    • 要在运行时禁用,您也可以使用 $this->client->setClassConfig("Google_Http_Request", "disable_gzip", true)。
    • 感谢 @loomtronic 和 Ian Barber,我在这方面浪费了很多时间……现在在生产中使用 Ian 的简洁解决方案。谢谢
    • 现在支持 cURL,所以以防万一您还没有查看最新版本的 API 客户端 - 您可能想要这样做。
    • 感谢伊恩·巴伯!现在支持 cUrl,但在 Google App Engine 上不支持。所以 disable_gzip 的设置对我很有用。
    猜你喜欢
    • 1970-01-01
    • 2019-12-17
    • 2013-05-21
    • 2020-03-20
    • 2016-04-10
    • 1970-01-01
    • 2015-11-13
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多