Problema con fgets, no separa por lineas

Si fgets o fgetcsv no lee correctamente el archivo, es decir que no separa las lineas leidas, hay que modificar en el php.ini la configuración de:
auto_detect_line_endings boolean

Cuando está habilitada esta opción, PHP examina los datos leídos por fgets() y file() para ver si está usando convenciones de final de líneo tipo Unix, MS-Dos o Macintosh.

Esto le permite a PHP interoperar con sistemas Macintosh, pero tiene un valor predeterminado de Off, ya que hay un impacto ligero de rendimiento cuando se detectan las convenciones EOL para la primera línea, y también porque las personas que usen retornos de carro como separador de elementos bajo sistemas Unix percibirían un comportamiento que no es compatible con versiones anteriores.