【问题标题】:A bizzare unsolvable Google Checkout issue occurs in certain server某些服务器中出现奇怪的无法解决的 Google Checkout 问题
【发布时间】:2012-03-09 18:30:25
【问题描述】:

我有一个在 Hostgator 共享主机帐户中运行的网站,从 v1.2 开始使用 Google Checkout (GC) - 当该网站首次上线时,GC 开箱即用。

最近我将站点移至 VPS 服务器,GC 停止处理此错误: Google Checkout:来自 Google Checkout 服务器的响应无效

我认为这不是 Magento 的 Google Checkout 集成的问题,而是新的 VPS 服务器或 SSL 证书需要进一步测试,因此我将站点移回共享服务器(GC 再次开始工作!),然后使用有效的 SSL 证书、有效的 GC 帐户设置一个测试站点。

3 周过去了,GC 仍然无法在 VPS 服务器中工作;在 Hostgator 支持的帮助下,我已经尝试/搜索/测试了所有可能性,并且我们已经用尽了所有选项,以至于我们认为这与 SSL 证书设置或服务器配置无关。

根据上述错误和“var/log/payment_googlecheckout”的日志,我认为它无法重定向到 checkout.google.com/schema/2

<order-processing-support>
<request-initial-auth-details>true</request-initial-auth-details>
</order-processing-support>
</checkout-shopping-cart>
[dir] => out

似乎很多人之前都遇到过同样的错误,但似乎没有人能够找到原因,我开始认为这是 Magento 的 Google Checkout 模块的错误。

如果您之前遇到过此问题并已解决,请分享。谢谢!

【问题讨论】:

  • 网站现在运行的是什么版本的 Magento?
  • 如果您在这里发布问题,这个问题一定不是无法解决的...... ;)
  • 它在 v1.6.2 上运行。每次版本更新都没有问题。

标签: magento google-checkout


【解决方案1】:

This person 似乎遇到了类似的问题,这是由于他们的 cURL 安装存在问题。您是否将共享主机中的版本与您的 VPS 进行了比较?我会比较:PHP 版本、PHP 扩展版本、php.ini 设置和 cURL 本身的版本。

如果这些都没有带来任何结果,请打开 app/code/core/Mage/GoogleCheckout/Model/Api/Xml/Abstract.php 并像这样修改 _call() 方法:

// app/code/core/Mage/GoogleCheckout/Model/Api/Xml/Abstract.php

public function _call($xml)
{
    // ... snip ...
    $result = @simplexml_load_string($response);
    if (!$result) {
        // Add this...
        Mage::log(var_export($response, true), null, 'google_checkout_debug.log', true);
        // ... end
        $result = simplexml_load_string('<error><error-message>Invalid response from Google Checkout server</error-message></error>');
    }

这样,您将获得来自 Google 的准确回复记录到 var/log/google_checkout_debug.log。使用它来调试可能出现的问题(也许响应中嵌入了另一条错误消息)。

完成后记得删除代码!

【讨论】:

  • 谢谢!我会尽快尝试并告诉你结果。更新:调试消息显示:2012-03-13T00:41:55+00:00 DEBUG (7): '' 我还要提一下,我的 GC 帐户 > 集成控制台中没有错误日志文件。看起来 GC 服务器只是拒绝了 Magento 请求的连接。
  • “cURL 安装。”确实是原因。一旦我将这条信息发送给我的虚拟主机,他们就能够立即修复它。
  • 猜猜它毕竟不是无法解决的;)
  • 是的 :) 发生错误时应该立即发布我的问题。 GC 支持和虚拟主机之间存在一些相互指责的游戏,当不同的支持人员问同样的问题时,我几乎在每封电子邮件中都必须重复这个问题,但总的来说,我的虚拟主机正在尽最大努力帮助我。我不能责怪他们没有注意到这一点,因为服务器中也没有记录详细日志,也没有 Magento/var/log。我想知道 Magento GC 模块是否可以更好地捕获错误,例如提供更具描述性的细节。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2023-03-19
  • 2013-11-30
  • 2021-07-24
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多