我对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对象内部的内容,所以我想知道问题的一部分是否与卷曲处理的差异有关?
很酷。我想好了如何创建一个有权将文件/文件夹添加到/var/www的用户组,然后我将apache2用户"www数据"添加到该组中。此处的说明
https://serverfault.com/questions/6895/whats-the-best-way-of-handling-permissions-for-apache2s-user-www-data-in-var
我现在可以将.csv写入服务器了。现在我只需要将JSON解码为实际的逗号分隔值!