PHP卷曲与端口号问题

时间:2013-01-04 07:00:59

标签: php curl port

使用PHP和Curl(在托管服务器上)这是一个问题。我正在尝试控制端口54512上的远程设备(LED状态)(例如)。 $url包括与短CGI命令连接的IP:port数字。

以下是代码片段;

$sensorIP = "77.134.85.187:54512"; // IP:port format

$url = $sensorIP . "/setParam.cgi?DOStatus_02=0" ; // set E2210 LED off

echo $url; // 

$result =  accessURL ($url); // set LED state on E2210 remote unit  

此代码超时。当我在网页浏览器中使用$ url作为地址时,它可以正常工作。因此不阻止接收端口54512。当我使用IP:80来形成$url时,它工作正常(接收端口设置为80)。我尝试使用CURLOPT_PORT选项,PHP脚本仍然超时。

发送服务器传出HTTP不阻止任何端口号,我检查了我的托管公司。他们认为我有编程错误,但在哪里?

谢谢! Al

2 个答案:

答案 0 :(得分:4)

解决方法:

  1. 尝试$sensorIP = "http://77.134.85.187:54512";

  2. 确保出站端口54512已打开(请与您的托管服务提供商联系)

  3. curl_exec()功能之后,添加$output = curl_getinfo($ch);并打印并检查输出。你可以从中得到一些信息。

  4. 不要将端口号作为url的一部分。请改用以下内容:

    curl_setopt($ch, CURLOPT_PORT, '54512');

答案 1 :(得分:-1)

我最近遇到了同样的问题。 我几乎尝试了一切,但还没有运气 据我所知,除了80之外,curl不适用于其他端口。 所以这里最好的解决方案是解决80端口的卷曲问题,你现在就不会遇到任何问题。 希望这些信息对您有所帮助。