【发布时间】:2010-10-22 10:44:38
【问题描述】:
我正在尝试将 google checkout 与 magento 网站集成,并在集成控制台中收到以下错误:
We encountered an error trying to access your server at
https://www.domain.co.uk/googlecheckout/api/
-- the error we got is Sending failed with HTTP response
code: 404. Response body was: <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml"> <head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"/>
<title>404 - File or directory not found.</title> <style type="text/css">
<!-- body{margin:0;font-size:.7em;font-family:Verdana, Arial, Helvetica, sans-serif;background:#EEEEEE;}
fieldset{padding:0 15px 10px 15px;} h1{font-size:2.4em;margin:0;color:#FFF;}
h2{font-size:1.7em;margin:0;color:#CC0000;}
h3{font-size:1.2em;margin:10px 0 0 0;color:#000000;}
#header{width:96%;margin:0 0 0 0;padding:6px 2% 6px 2%;font-family:"trebuchet MS", Verdana, sans-serif;color:#FFF; background-color:#555555;}
#content{margin:0 0 0 2%;position:relative;}
.content-container{background:#FFF;width:96%;margin-top:8px;padding:10px;position:relative;} -->
</style> </head> <body>
<div id="header"><h1>Server Error</h1></div>
<div id="content"> <div class="content-container"><fieldset> <h2>404 - File or directory not found.</h2>
<h3>The resource you are looking for might have been removed, had its name changed, or is temporarily unavailable.</h3>
</fieldset></div> </div> </body> </html>
据我所知,这实际上不是 404 错误,因为我可以执行以下操作:
wget --post-data=blah https://www.domain.co.uk/googlecheckout/api/
--10:58:43-- https://www.domain.co.uk/googlecheckout/api/
=> `index.html'
Resolving www.domain.co.uk... 192.168.1.117
Connecting to www.domain.co.uk|192.168.1.117|:443... connected.
HTTP request sent, awaiting response... 503 Service Unavailable
10:58:43 ERROR 503: Service Unavailable.
现在那里的 503 错误实际上与我没有使用 wget 发送任何 HTTP_AUTHORIZATION 相关,所以它在 googleresponse.php 中的 strpos($_SERVER['HTTP_AUTHORIZATION'], " ") + 1))); 这条线上消失了。 这不是问题。
我在 wget 和 Google Checkout 设置回调 URL 中都尝试了 https://www.domain.co.uk/googlecheckout/api/ 和 https://www.domain.co.uk/googlecheckout/api,结果相同。
我已确定 always_populate_raw_post_data = On 已设置,并且它在 phpinfo() 中正确显示。
我已经在 Magento 的 Google API 设置中尝试过开启和关闭调试模式。
结帐过程在使用沙盒模式的开发域上正常运行。
我已经尝试了所有可以通过谷歌搜索找到的东西。任何其他选择将不胜感激。
编辑 看起来该响应来自 IIS 服务器。该站点现在运行的服务器是 Apache。谷歌还能访问旧服务器吗? DNS 已在 15 小时前更新。
【问题讨论】: