【问题标题】:How to create droplet with digital ocean api v2?如何使用数字海洋 api v2 创建液滴?
【发布时间】:2015-02-16 08:20:28
【问题描述】:

我想创建 Droplet,但在 curl_close() 中出现错误。如何创建液滴?它给了我这样的错误:

 Warning: curl_close() expects parameter 1 to be resource 

这是我的代码:

<?php
$data = 'name=TestDroplet&region=ams3&size=512mb&image=449676322';
$create_droplet = curl_init();

curl_setopt_array(
    $create_droplet, 
    array(
        CURLOPT_USERAGENT => "METESTING",
        CURLOPT_POST => 0,
        CURLOPT_URL => 'https://api.digitalocean.com/v2/droplets',
        CURLOPT_RETURNTRANSFER => true,
        CURLOPT_HTTPHEADER => array(
            'Authorization: Bearer 0503e2f686f11fb5b7f81c8baf6434b63103715422cb719711f77dde44d768a4',
            'Content-Type: application/json',
            'Content-Length: ' . strlen($data)
        ),
        CURLOPT_POSTFIELDS => $data
    )
);

$create = curl_exec($create_droplet);
curl_close($create);

echo '<pre>';
print_r($create);
echo '</pre>';

【问题讨论】:

  • 如果你想关闭成功,试试curl_close($create_droplet),这是从init命令返回的资源。

标签: php digital-ocean


【解决方案1】:

您正在尝试curl_close curl_exec 的结果,失败时为 FALSE,或 TRUE。在你的情况下,因为你使用了CURLOPT_RETURNTRANSFER,这是你执行的结果。

$create = curl_exec($create_droplet);
curl_close($create_droplet);

相关PHPdocumentation:

说明

curl_exec ( CurlHandle $handle ) : string|bool

执行给定的 cURL 会话。

这个函数应该在初始化一个 cURL 会话并设置会话的所有选项后调用。

参数

handle - curl_init() 返回的 cURL 句柄。

返回值

成功返回true,失败返回false。但是,如果 CURLOPT_RETURNTRANSFER 选项为 set,则成功时返回结果,失败时返回 false

【讨论】:

  • 如何打印这些数据?你能为此写代码吗?我是这个 api 的新手。
  • @Nikul,它在您的 $create 变量中。尝试检查其内容。
  • 我需要代码以便更好地理解。你能更新我的代码并把它放在这里吗?
  • @Nikul:我们通常不鼓励“请为我编写代码”请求。人们愿意提供帮助,但不是免费工作。请按照建议自行尝试。
  • 谢谢#amphetamachine
猜你喜欢
  • 2021-04-10
  • 1970-01-01
  • 2021-07-31
  • 1970-01-01
  • 2022-01-10
  • 2016-10-03
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多