致命的なエラー: 未定義の関数 curl_init() の呼び出し 質問する

致命的なエラー: 未定義の関数 curl_init() の呼び出し 質問する
<?php
$filename = "xx.gif";
$handle = fopen($filename, "r");
$data = fread($handle, filesize($filename));

// $data is file data
$pvars   = array('image' => base64_encode($data), 'key' => IMGUR_API_KEY);
$timeout = 30;
$curl    = curl_init();

curl_setopt($curl, CURLOPT_URL, 'http://api.imgur.com/2/upload.xml');
curl_setopt($curl, CURLOPT_TIMEOUT, $timeout);
curl_setopt($curl, CURLOPT_POST, 1);
curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($curl, CURLOPT_POSTFIELDS, $pvars);

$xml = curl_exec($curl);

curl_close ($curl);

var_dump($xml);
?>

Imgur API を試しているのですが、うまく動作しないようです。PHP.netcurl_init()では PHP5 で動作すると表示されていますが、私のホストでは動作しないと言われています。どうすれば動作させることができるでしょうか?

ベストアンサー1

Debian および Ubuntu の古いバージョンでは、PHP の Curl 拡張機能をインストールし、Web サーバーを再起動することでこの問題を解決しました。Web サーバーが Apache 2 であると仮定します。

sudo apt-get install php5-curl
sudo service apache2 restart

新しいバージョンでは、パッケージ名が変更されました。

sudo apt install php-curl

さらにインストールする必要がある可能性があります:

sudo apt-get install curl libcurl3 libcurl3-dev;

おすすめ記事