Quando usar a constante PHP_EOL em PHP e como ela difere de \n?
Olá a todos! Sou um desenvolvedor PHP iniciante e fiquei confuso com a constante PHP_EOL. Na documentação diz que é o "caractere de fim de linha correto para a plataforma atual", mas não entendo bem quando devo usá-la.
Aqui vai um exemplo: estou escrevendo um script que salva logs em um arquivo de texto. Atualmente, estou usando \n normal:
```php
$log = date('Y-m-d H:i:s') . " - Usuário logou\n";
file_put_contents('log.txt', $log, FILE_APPEND);
```
No servidor local (Windows) funciona perfeitamente. Mas quando enviei o código para produção (Linux), notei que em alguns lugares as linhas se juntam e em outros não. Um amigo sugeriu substituir \n por PHP_EOL, mas não entendo: por que, se \n funciona em todo lugar?
Também estou escrevendo e-mails HTML com mensagens de várias linhas. Lá também uso \n para quebra de linha no corpo do e-mail:
```php
$message = "Linha 1\nLinha 2\nLinha 3";
mail($email, $subject, $message);
```
No Windows, os e-mails chegam com quebras corretas, mas no Linux