Espero que le sea útil esta información, le cuento que hace días tuve que ayudar una compañera a generar un reporte con mas de 18000 registros y lo intentamos de la manera tradicional de hacerlo por las cabeceras header y configuramos que fuese limite indefinido y nunca se pudo me imagine generar un .csv y que se pueda descargar y bueno resulto ser la respuesta final, se las presento 2 forma:

1) Sin interactuar con base de datos

$lista = array (
array(‘CAMPO1’, ‘CAMPO2’, ‘CAMPO3’, ‘CAMPO4’), array(‘145222541’, ‘85478559’, ‘9658822’, ‘1222545’), array(‘9966558’, ‘9658855’, ‘966558’, ‘74111’),
}
);
$fp = fopen(‘file.csv’, ‘w’);
foreach ($lista as $campos) {
fputcsv($fp, $campos);
}
fclose($fp);

2) Interactuar con base de datos

git clone https://gbolivar_@bitbucket.org/gbolivar_/exportarcsv.git

Anuncios