0

私は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オブジェクト内のコンテンツを参照できないようです。そのため、問題の一部はカール処理?

4

1 に答える 1

0

いいね。ファイル/フォルダーを/var/ wwwに追加する権限を持つユーザーグループを作成する方法を理解し、apache2ユーザー「www-data」をグループに追加しました。ここに指示

https://serverfault.com/questions/6895/whats-the-best-way-of-handling-permissions-for-apache2s-user-www-data-in-var

これで、.csvをサーバーに書き込むことができます。ここで、JSONを実際のコンマ区切り値にデコードする必要があります。

于 2013-02-28T22:15:30.097 に答える