PHP は、Daniel Stenbergにより開発されたライブラリlibcurl をサポー トします。このライブラリにより、多くの異なったプロトコルで様々なサー バーと接続し、通信することが可能になります。libcurl は現在 http, https, ftp, gopher, telnet, dict, file, ldap プロトコルをサ ポートしてします。libcurl は HTTPS 認証、HTTP POST、HTTP PUT、FTP アップロード(これはPHPのftp拡張機能でも実行可能です)、HTTPフォーム によるアップロード、プロキシ、クッキー、ユーザ名+パスワードによる 認証もサポートします。
これらの関数は、PHP 4.0.2で追加されました。
PHP の cURL 関数を使用するためには、libcurl パッケージをインストールしておく必要があります。PHP は、 libcurl 7.0.2-beta 以降を必要とします。 PHP バージョン 4.2.3 以降、少なくとも libcurl バージョン 7.9.0 以降が必要となっています。 PHP 4.3.0 以降では、7.9.8 以降が必要です。 PHP 5.0.0 では、おそらく、libcurl 7.10.5 以降が必要となります。
PHP の cURL サポート機能を使用するには、--with-curl[=DIR]
を付けて PHP をコンパイル
しておく必要があります。ただし、DIR は、ディレクトリ lib および
include を有するディレクトリの場所となります。
ディレクトリ "include" には、"curl" という名前のフォルダがある
必要があり、そのフォルダにはファイル easy.h
および curl.h がある必要が
あります。libcurl.a という名前のファイルがディレクトリ "lib"
にある必要があります。PHP 4.3.0 以降、URL ストリームで cURL を使用するよう PHP を
設定するために --with-curlwrappers
を指定できます。
Win32 ユーザへの注意: このモジュールを Windows 環境で使用可能とするには、 libeay32.dll および ssleay32.dll が PATH の通った場所に存在する必要があります。
cURL のサイトにある libcurl.dll は不要です。
この拡張モジュールで定義しているリソース型は cURL ハンドルおよび cURL マルチハンドルのふたつです。
PHP を cURL サポート機能付きでコンパイルすると、 curl 関数を使用可能となります。cURL 関数の基本的な使用法は、 curl_init()により cURL セッションを初期化、 curl_setopt() により転送時のオプションを設定、 続いてcurl_exec() により転送を実行し、 curl_close() によりセッションを終了するというものになります。 cURL 関数を使用して PHP ホームページをファイルに取得する例を示します。