【PHP】cURLのデバッグ

$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, "https://example.com");

...

// 詳細な情報を出力します。情報は STDERR か、または CURLOPT_STDERR で指定したファイルに出力されます。    
curl_setopt($ch, CURLOPT_VERBOSE, 1);
// セキュアな転送時に SSL 証明書の情報を STDERR に出力します。
curl_setopt($ch, CURLOPT_CERTINFO, TRUE);

// STDERR の代わりにエラーを出力する場所。
$handle_err = fopen("/tmp/curl_stderr", "w+");
curl_setopt($ch, CURLOPT_STDERR, $handle_err);
// 転送のヘッダ部分が書き込まれるファイル。
$handle_header = fopen("/tmp/curl_header", "w+");
curl_setopt($ch, CURLOPT_WRITEHEADER, $handle_header);
// 転送内容が書き込まれるファイル
$handle_file = fopen("/tmp/curl", "w+");
curl_setopt($ch, CURLOPT_FILE, $handle_file);

...

$response = curl_exec($ch);

参考

PHP: curl_setopt – Manual