我正在使用CURL开发一个php网站,但它只能在我的本地服务器上运行而不能在实时服务器上运行。它会返回错误“无法连接到主机”
CURL iS安装在实时服务器上,我测试了它。
SSL安装在实时服务器上,我使用curl连接到端口9301
即; HTTP://xx.xxx.xx.xxx:9301 /测试
这是我的代码:
$request = 'http://xx.xxx.xx.xxx:9301/test';
// The request parameters
$context = 'something';
// urlencode and concatenate the POST arguments
$postargs = 'xmlRequest='.urlencode($context);
$session = curl_init($request);
// Tell curl to use HTTP POST
curl_setopt ($session, CURLOPT_POST, true);
// Tell curl that this is the body of the POST
curl_setopt($ch, CURLOPT_PORT, '9301');
curl_setopt ($session, CURLOPT_POSTFIELDS, $postargs);
// Tell curl not to return headers, but do return the response
curl_setopt($session, CURLOPT_HEADER, false);
curl_setopt($session, CURLOPT_RETURNTRANSFER, true);
$response = curl_exec($session);
//echo curl_getinfo($session);
echo $err = 'Curl error: ' . curl_error($session);
curl_close($session);
echo $response;
从我的测试中可以看出,我无法通过Curl连接到端口地址。要连接到端口地址,需要更改任何服务器设置吗?
答案 0 :(得分:7)
curl_setopt($ch, CURLOPT_PORT, '9301');
这是你的问题。在您的情况下,句柄不是$ch
,而是$session
。
我猜错了。
一般情况下:确保在开发过程中显示所有错误。记录它们或将它们放在屏幕上。 你很容易就能抓住这个。