【PHP8.x】CURLFTPSSL_CCC_PASSIVE定数の使い方
CURLFTPSSL_CCC_PASSIVE定数の使い方について、初心者にもわかりやすく解説します。
基本的な使い方
CURLFTPSSL_CCC_PASSIVE定数は、PHPのcURL拡張機能において、FTPおよびFTPS接続時のClear Command Channel (CCC) の挙動、特にデータ転送をパッシブモードで継続するかどうかを指定するための定数です。
cURLは、様々なプロトコルを用いてネットワーク通信を行うためのライブラリであり、PHPではcURL拡張機能として利用できます。FTPやFTPSプロトコルはファイルの送受信に用いられますが、その通信には「制御コネクション」と「データコネクション」の二種類があります。制御コネクションはコマンドのやり取り、データコネクションは実際のファイルデータの送受信に使われます。
FTPS接続では、通常、制御コネクションもデータコネクションもSSL/TLSで暗号化されます。しかし、一部のネットワーク環境やファイアウォールでは、制御コネクションが暗号化されていると通信を正しく処理できない場合があります。そこで、認証が完了した後に一時的に制御コネクションの暗号化を解除する機能がCCC(Clear Command Channel)です。
また、FTPのデータ転送にはアクティブモードとパッシブモードがあります。パッシブモードは、クライアント側がデータ転送のためにサーバーに接続を開始する方式であり、クライアント側のファイアウォール設定に比較的影響されにくいという特徴があります。
このCURLFTPSSL_CCC_PASSIVE定数をCURLOPT_FTPSSLAUTHオプションの値として指定すると、cURLは認証後に制御コネクションをクリア(暗号化解除)し、かつデータ転送を引き続きパッシブモードで行うように動作します。これにより、特定のファイアウォール環境下でもFTPS接続が円滑に行われるよう支援し、安定したファイル転送を実現します。
構文(syntax)
1CURLFTPSSL_CCC_PASSIVE;
引数(parameters)
引数なし
引数はありません
戻り値(return)
int
CURLFTPSSL_CCC_PASSIVEは、FTP over SSL/TLS接続におけるCCC(Clear Command Channel)モードのパッシブモードを示します。この定数は整数値で表現され、PHPのcURL拡張機能においてFTP接続のセキュリティ設定に使用されます。