我们有一个PHP结帐脚本,它使用XML向第三方支付网关发布信息。
问题是,我们过去使用常规的80端口POST,但他们现在改变了url,现在是SSL。
我们可以将数据发布到他们的服务器上,问题是将这些信息加载并检查回我们的数据库。
在XML变量定义之后,我们有:
if (((int)$_SESSION['value_dollars']+(int)$_SESSION['value_cents']) != 0){
$response = openSocket($host, $vars);
$xmlres = array();
$xmlres = makeXMLTree ($response);
if (trim($xmlres[SecurePayMessage][Payment][TxnList][Txn][approved]) == 'Yes'){
问题是它似乎没有将任何$xmlres加载到系统中,所以当我们检查approved = yes时,它总是返回到错误页面。
既然他们已经更改为SSL等,我们如何重写这一节是准确的?
您是否检查了php.ini以检查SSL是否启用?
有时unix系统安装时没有SSL支持PHP,你必须给你的网站管理员发邮件,要求他们更改PHP配置,除非你自己能够做到这一点。
尝试将以下代码放入一个名为phpinfo.php的新文件中,并在您的网站上访问它。确保有一个部分说SSL是在您的web服务器上启用的!
<?php
phpinfo(INFO_MODULES);
?>