0

我最近搬了服务器,搬家后我们的支付模块出现了问题。我们从 PHP 5.2 迁移到 PHP 5.4。

我们在 xcart 上安装了 Realex 支付模块来处理我们的付款,在结帐期间,用户被发送到一个安全站点以输入他们的付款详细信息,付款流程,但他们收到错误:您的交易已成功,但连接时出现问题到商家的网站

Realex 已通知我 302 重定向导致问题,我们没有任何地方可以导致此重定向。

以下是从 realex 收到的日志:

27.08.2013 17:02:18 carbonaction $response_uri = https://www.energysavingwarehouse.co.uk/store/payment/cc_realex_redirect.php 
27.08.2013 17:02:18 carbonaction $num_remaining = 0 
27.08.2013 17:02:18 carbonaction $client_return_url = https://www.energysavingwarehouse.co.uk/store/payment/cc_realex_redirect.php 
27.08.2013 17:02:18 carbonaction $num_remaining = 0 
27.08.2013 17:02:18 carbonaction Return URL: https://www.energysavingwarehouse.co.uk/store/payment/cc_realex_redirect.php 
27.08.2013 17:02:18 carbonaction Client Host: www.energysavingwarehouse.co.uk 
27.08.2013 17:02:18 carbonaction Client URLs: store/payment/cc_realex_redirect.php 
27.08.2013 17:02:18 carbonaction ..start POST request, UserAgent timeout set to 180 seconds.
27.08.2013 17:02:20 carbonaction ..end POST request, UserAgent returned the status: 302 Moved Temporarily
27.08.2013 17:02:20 carbonaction Error connecting to client site:Moved Temporarily

这在旧服务器上运行良好,我们最近搬到了 vps,这里可能存在潜在的服务器配置问题吗?

谢谢你的帮助。

利亚姆

4

1 回答 1

0

当我访问重定向时https://www.energysavingwarehouse.co.uk/store/payment/cc_realex_redirect.php,我会跳到. 这可能是因为我正在做 a而不是 a并且没有字段。302../GETPOSTPOST

如果您已经升级到较新版本的 PHP,则可能配置已更改,代码不再查找所有POST字段 - 以前$HTTP_POST_VARS[]可以,但现在您应该使用$_POST[],有时可以将 PHP 配置为自动创建新的每个POST字段的变量——例如,name=Owen自动创建一个$name带有值的变量Owen。特别是,该register_globals选项在 5.4.0 中被完全删除,您现在需要在某些以前没有的情况下显式声明变量(请参阅http://php.net/manual/en/security.globals.php)。

您可以检查代码cc_realex_redirect.php以查看哪些情况会触发302重定向吗?这应该看起来像:

header('Location: ../');

然后添加一些日志记录以确保POST正确获取所有数据。这应该会引导您找到解决方案。

于 2013-09-04T08:24:13.813 回答