我正在使用adwords reporting api获取所有adwords帐户的所有广告和关键字信息。目前帐号为1363.报告api生成一个CSV,我将其解析为Array,下面是函数。在解析好的1180帐户后,它会出错
致命错误:允许的内存大小为536870912字节(尝试分配262144字节)。
我已将内存设置为512MB(我相信很多)。
错误来自此行
$line_of_text[] = fgetcsv($file_handle, 1024);
私有函数convertCSVtoArray($ csvFile){
try {
$file_handle = fopen($csvFile, 'r');
while (!feof($file_handle) ) {
$line_of_text[] = fgetcsv($file_handle, 1024);
}
fclose($file_handle);
return $line_of_text;
} catch (Exception $e) {
log_message('Exception in convertCSVtoArray()', $e);
throw new Exception('Exception in convertCSVtoArray => '.$e);
}
}
从方法
调用上述函数$data = $this->convertCSVtoArray($filePath);
我相信,在给定代码中某处存在内存泄漏,这会占用所有内存。
请建议是否有任何解决方案。
答案 0 :(得分:0)
要更改某个特定脚本的内存限制,请在脚本顶部添加如下所示的行:
的ini_set( “memory_limit的”, “12M”);
您还可以通过在服务器的php.ini文件中添加这样的行来对服务器上运行的所有PHP脚本进行永久性更改:
memory_limit = 12M