ci-merchant purchase() 不工作
Posted
技术标签:
【中文标题】ci-merchant purchase() 不工作【英文标题】:ci-merchant purchase() not working 【发布时间】:2013-08-28 12:05:52 【问题描述】:我在我的开发 WAMP 服务器上本地使用我的 PyroCMS 模块中的 ci-merchant 库。 (一切正常)
当我上传到我的 Linux 测试服务器时,被调用的 purchase()
函数似乎不起作用。
当它执行 5 分钟时,我得到一个响应“无法连接到主机”。
PHP
$params =
array(
'amount' => 20,
'currency' => 'USD',
'return_url' => 'http://someurl.com/return/'
'cancel_url' => 'http://someurl.com/cancel/'
);
$settings = array(
'test_mode' => TRUE,
'username' => 'PAYPAL_TEST_USERNAME'
'password' => 'MY_PAPAL_TEST_PASS'
'signature' => 'MY_PAYPAL_TEST_SIG'
);
$this->load->library('merchant');
$this->merchant->load('paypal_express');
$this->merchant->initialize($settings);
//this is where Im having the issue
$response = $this->merchant->purchase($params);
$message = $response->message();
当我回显 $message
echo $message; //Outputs: couldn't connect to host"
CURL - 服务器设置
以下是服务器上 CURL 设置的差异列表。也许这就是问题所在。我认为无需编译 curl 就可以更改这些设置,但我不确定。
开发服务器(WAMP 服务器 - 状态:工作中)
AsynchDNS : Yes
CurlInfo : 7.21.7
GSS Neg : Yes
IDN : No
SSPI : Yes
libSSH : libssh2/1.2.7
测试服务器(Linuxserver - 状态:不工作)
AsynchDNS : No
CurlInfo : 7.24.0
GSS Neg : No
IDN : Yes
SSPI : No
libSSH : <<not listed>>
【问题讨论】:
可能您的测试服务器上的防火墙阻止了传出连接。 我要去了解防火墙设置,目前在测试服务器上,我只能访问 cpanel 界面。 您能否快速运行curl -v https://api-3t.sandbox.paypal.com/nvp
和telnet att.com 80
来验证您的测试服务器的连接性?
我目前正在移动服务器/主机。我很快就会有 ssh、telnet 访问。我认为可能是缺少 libSSH,因为新服务器开箱即用。
【参考方案1】:
经过多次试验和错误以及朋友的一些建议,我发现这是一个缺少的 libSSH 模块。
从那时起,我已将我的网站从共享托管公司转移到更可靠的 VPS 托管。
我安装了相应的库,一切正常。
我建议任何托管其网站的人远离任何“共享”托管公司。我只遇到了非常延迟的支持,而 VPS 托管并没有比我为 VPS 支付的费用多得多。
但您需要先了解如何管理服务器。
【讨论】:
以上是关于ci-merchant purchase() 不工作的主要内容,如果未能解决你的问题,请参考以下文章