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で追加されました。
CURL関数を使用するためには、CURL パッケージをインストールしておく必要があります。PHPは、 CURL 7.0.2-beta 以降を必要とします。7.0.2-beta以前のバージョンで は動作しません。PHP バージョン4.2.3以降、少なくともCURLバージョン 7.9.0以降が必要となっています。
PHPのCURLサポート機能を使用するには、--with-curl[=DIR] を付けてPHPをコンパイル しておく必要があります。ただし、DIRは、ディレクトリlibおよび includeを有するディレクトリの場所となります。 ディレクトリ"include"には、"curl"という名前のフォルダーがある必要 があり、そのフォルダには、ファイルeash.hおよびcurl.hがある必要があ ります。"libcurl.a"という名前のファイルがディレクトリ"lib"にある必 要があります。PHP 4.3.0以降、urlストリームでCURLを使用するようPHPを 設定するために--with-curlwrappers を指定できます。
Win32ユーザへの注意 このモジュールをWindows環境で使用可能とするには、PHP/Win32バイナリ パッケージのDLLフォルダにあるlibeay32.dll および ssleay32.dllを使用するWindowsマシンのSYSTEM32 フォルダ(例: C:\WINNT\SYSTEM32 または C:\WINDOWS\SYSTEM32)にコピー する必要があります。
これらの定数は、この拡張モジュールで定義されており、 この拡張モジュールがPHP内部にコンパイルされているか実行時に動的にロー ドされるかのどちらかの場合のみ使用可能です。
PHPをCURLサポート機能付きでコンパイルした場合、curl関数を使用可能 となります。CURL関数の基本的な使用法は、 curl_init()によりCURLセッションを初期化し、 続いてcurl_exec()により転送を実行し、 curl_close()によりセッションを終了するというも のになります。CURL関数を使用してPHPホームページをファイルに取得す る例を示します。