【问题标题】:CURL working from localhost but not on live siteCURL 从本地主机工作,但不在实时站点上
【发布时间】:2011-03-23 04:18:47
【问题描述】:

我有一个从远程服务器获取一些 XML 内容的 CURL 代码。我在我的本地主机(Windows 上的 XAMPP)上得到了预期的输出。但是从实时站点(托管在 Linux 上),我收到 CURL 错误:'couldn't connect to host'。

 function DownloadUrl($Url, $p){

// 是否安装了 curl? if (!function_exists('curl_init')){ die('CURL 没有安装!'); }

   // create curl resource
    $ch = curl_init();

    // set url
    curl_setopt($ch, CURLOPT_URL, $Url);

curl_setopt ($ch, CURLOPT_POSTFIELDS, $p);
curl_setopt ($ch, CURLOPT_POST, 1);
    //return the transfer as a string
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);

    // $output contains the output string
    $output = curl_exec($ch);

if($output === false)
 echo 'Curl error: ' . curl_error($ch);
else
  print $output;
    // close curl resource to free up system resources
    curl_close($ch);          

}

【问题讨论】:

  • 您是否尝试过从 linux 服务器 ping 主机?您是否尝试过从您的 linux 服务器获取主机?如果是,结果ok吗?
  • 这也应该被标记为 PHP。
  • 了解您的远程环境也很有用,即共享主机、VPS 等。一些共享提供商不允许您使用 curl 从其他站点提取内容。如果您使用的是 VPS,您可能需要检查是否有适当的 iptables 规则来允许您进行出站连接。

标签: php curl


【解决方案1】:

在您的实时服务器上。运行 phpinfo(); 并检查以确保 php_curl 已安装并处于活动状态。然而,这通常会引发致命异常,而不是“无法连接到主机”。您收到的消息。

如果您仍然遇到问题,您可能需要尝试通过 SSH 跟踪 URL 以确保网站可以实际连接。可能存在导致问题的配置设置或其他服务。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2020-11-03
    • 1970-01-01
    • 2014-01-20
    • 2016-08-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多