【问题标题】:PHP curl Could not resolve host on bluemixPHP curl 无法解析 bluemix 上的主机
【发布时间】:2016-04-13 00:24:41
【问题描述】:

我使用下面的代码在 PHP 中使用 cURL 发布数据。而且我收到“无法解析主机”之类的错误。我正在使用 IBM Bluemix 并安装了 cURL 插件并启用了它。

$ch = curl_init($url);  
$headers = array(  
    'Accept: application/json',  
    'Content-Type: application/json'  
);  

curl_setopt($ch, CURLOPT_IPRESOLVE, CURL_IPRESOLVE_V4 );
curl_setopt($ch, CURLOPT_USERPWD, "$username:$password");
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, 0);  
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 0);  
curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);  
curl_setopt($ch, CURLOPT_DNS_USE_GLOBAL_CACHE, false );
curl_setopt($ch, CURLOPT_DNS_CACHE_TIMEOUT, 30 );
curl_setopt($ch, CURLOPT_POSTFIELDS, json_encode($data));  


$result = curl_exec($ch);  
$ch_error = curl_error($ch);

if ($ch_error) {  
    echo "cURL Error: $ch_error";  
} else {  
    echo $result;       
}

curl_close($ch);

【问题讨论】:

  • 如果你有shell访问权限,尝试在shell上解析主机。
  • 您的网址是否在防火墙后面?

标签: php curl ibm-cloud ibm-cloud-plugin


【解决方案1】:

如果有人四处寻找解决方案,这里有一个对我有用的解决方案。在根目录(最外层)中,创建一个.bp-config 目录。在其中创建一个options.json 文件。将以下代码放入此 options.json 文件中:

{
    "PHP_EXTENSIONS": ["pdo", "mysqli", "pdo_mysql", "mysql", "curl"]
}

保存并执行cf push。 (注意:对于我的应用程序,除了 curl 之外,我还需要扩展;因此你也可以在其中看到 pdo、mysqli 等以及 curl)

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2020-05-01
    • 1970-01-01
    • 2014-09-12
    • 1970-01-01
    • 1970-01-01
    • 2010-11-23
    • 2011-05-20
    相关资源
    最近更新 更多