Como pode ser visto em main/php.h da versão 5.6.4 do PHP:
#ifdef PHP_WIN32 # include "tsrm_win32.h" # include "win95nt.h" # ifdef PHP_EXPORTS # define PHPAPI __declspec(dllexport) # else # define PHPAPI __declspec(dllimport) # endif # define PHP_DIR_SEPARATOR '\\' # define PHP_EOL "\r\n" #else # if defined(__GNUC__) && __GNUC__ >= 4 # define PHPAPI __attribute__ ((visibility("default"))) # else # define PHPAPI # endif # define THREAD_LS # define PHP_DIR_SEPARATOR '/' # define PHP_EOL "\n" #endif
Os possíveis valores de PHP_EOL, apoiados pelas fontes PHP, como pode ser visto acima, pode ser:
- “\r\n” (em servidores Windows)
- ou “\n” (em qualquer outra coisa).
Nas versões PHP anteriores a 5.4.0RC8, havia um terceiro valor possível para PHP_EOL: “\r” (em servidores MacOSX). No entanto foi corrigido em 2012-03-01 com bug 61193.
PHP_EOL pode ser usado em qualquer tipo de saída (onde esses valores são válidos – como: HTML, XML, logs …)