PHP

  (最終更新日:2015.10.28)

【PHP】cURLをインストールして有効化する手順

PHPのソースインストール時にcURLを有効化する手順のご紹介です。

気をつけるポイント

CentOS 6以降では、RPM版のcURLだとSSL通信にOpenSSLではなくNSS APIを利用するようになっているので役に立ちません。

そこで、OpenSSLとcURLを別途ソースから個別にインストールする(下記で手順紹介)ことをおすすめします。

OpenSSLをソースからインストールする

まずはOpenSSLをソースからインストールします。

$ cd /usr/local/src/
$ wget ftp://ftp.openssl.org/source/openssl-0.9.8zd.tar.gz
$ tar -xzf openssl-0.9.8zd.tar.gz
$ cd openssl-0.9.8zd
$ ./config --prefix=/usr/local/openssl shared zlib
$ make
$ make install

これでOpenSSLが指定したディレクトリにインストールされました。

cURLをソースからインストールする

続いて、先ほどインストールしたOpenSSLをSSL通信の方法に指定する形でcURLをソースからインストールします。

$ yum install libssh2-devel
$ cd /usr/local/src/
$ wget http://curl.haxx.se/download/curl-7.45.0.tar.gz
$ tar -xzf curl-7.45.0.tar.gz
$ cd curl-7.45.0
$ ./configure --prefix=/usr/local --with-ssl=/usr/local/openssl --with-libssh2

これでcURLが指定したディレクトリにインストールされました。

PHPをインストールする

最後にPHPをインストールします。
下記オプションを configure に追加してください。

–with-openssl=/usr/local/openssl \
–with-kerberos \
–with-curl=/usr/local/lib \
–with-curlwrappers

あとは make して make install で完了です。

cURLを試してみる

無事に cURL が追加されたかどうか確認するために動作確認してみます。

$ php -i | grep cURL
cURL support => enabled
cURL Information => libcurl/7.45.0 OpenSSL/0.9.8zd zlib/1.2.3 libssh2/1.4.2

ここが NSS ではなく OpenSSL となっていればOK。

今回も無事に組み込まれているようですが、更に下記のプログラムを実行してみます。

<?php
$ch = curl_init("https://www.google.co.jp/");
$fp = fopen("google.txt", "w");
curl_setopt($ch, CURLOPT_FILE, $fp);
curl_setopt($ch, CURLOPT_HEADER, 0);
curl_exec($ch); curl_close($ch);
fclose($fp);
?>

無事にgoogle.txtが作成されていて内容が作成されていればインストール完了です。
HTTPSで取得もしているのでSSL通信も問題なしです。

  • コメント: 0
スポンサーリンク
スポンサーリンク

関連記事

  1. PHP

    【解決済】PHPのocilogonでORA-24408が発生するときの対処方法

    PHPのocilogon関数で、エラー《ORA-24408: coul…

  2. PHP

    PHPのcURLでHTTPSリクエストを行うとセグメンテーション違反でエラーになる

    PHP 5.2 で cURL を利用してHTTPSリクエストしようとし…

  3. PHP

    PHP PhantomJSでFatal error: Uncaught exceptionエラーに遭…

    PHP PhantomJSを利用してキャプチャを取得しようとしたところ…

  4. PHP

    【CentOS 6】yumでpdo-pgsqlをインストールする方法

    CentOS 6.9 で yum を使い pdo-pgsql をインス…

  5. PHP

    CentOS7のPHP5.6にPhpSpreadsheetをインストールする

    CentOS 7にインストールしたPHP 5.6に、PhpSpread…

  6. PHP

    【PHP】cURLでベーシック認証のページへPOSTして結果を取得する方法

    ベーシック認証のかかったページへPHP+cURLを利用してPOSTでア…

コメント

  1. この記事へのコメントはありません。

  1. この記事へのトラックバックはありません。

最近の記事

  1. さくらのVPSにCentOS 5をインストールする方法
  2. PHP PhantomJSでFatal error: Unc…
  3. 【Oracle】DataPumpの対話式コマンドモードを抜け…
  4. CentOS7のPHP5.6にPhpSpreadsheetを…
  5. Azure仮想マシン(CentOS 7)のStandardデ…
PAGE TOP