私はPHPとcurlに少し慣れていません。ローカルマシンのWAMPでスクリプトを設定します。カールを実行し、結果を.csvファイルに保存します。この同じcurlスクリプトは、最近セットアップされたLAMP開発環境では機能しません。代わりに、結果のJSONがブラウザーに出力されます。LAMPスタックで有効にする必要があるある種のphp拡張機能はありますか?コードは次のとおりです。
$reportfileurl = 'https://www.googleapis.com/analytics/sampleurl';
$path = 'temp/temp.csv';
$fp = fopen($path, 'w');
$request = curl_init();
curl_setopt($request, CURLOPT_URL, $reportfileurl);
curl_setopt($request, CURLOPT_HTTPAUTH, CURLAUTH_ANY);
curl_setopt($request, CURLOPT_HTTPHEADER, array($authorization_header));
//curl_setopt($request, CURLOPT_RETURNTRANSFER, TRUE);
curl_setopt($request, CURLOPT_FILE, $fp);
curl_setopt($request, CURLOPT_SSL_VERIFYPEER, TRUE);
curl_setopt($request, CURLOPT_SSL_VERIFYHOST, 2);
curl_setopt($request, CURLOPT_CAINFO, getcwd() . "/CAcerts/BuiltinObjectToken-EquifaxSecureCA.crt");
$report_file = curl_exec($request);
curl_close($request);
fclose($fp);
別の注意点として、curlリクエストはJSONを返すため、コンテンツをcsvとして保存する前にデコードする必要があることがわかっています。JSONオブジェクトから配列を作成する方法についての投稿をいくつか見つけましたが、配列内のJSONオブジェクト内のコンテンツを参照できないようです。そのため、問題の一部はカール処理?