auto_detect_line_endings INI directive is deprecated
File-handling functions such as
fgets() can automatically detect common line endings:
\n (Line Feed / LF) and
\r\n (Carriage-Return and Line-Feed / CRLF).
PHP also has an INI directive called
auto_detect_line_endings, and this somewhat misleading INI directive enables PHP to also scan for
\r line-endings, which were used by Classic Mac OS, which is unsupported since 2002.
Since PHP 8.1, PHP INI directive
auto_detect_line_endings is deprecated. Setting it to
true emits a PHP deprecation notice. This INI directive will be removed in PHP 9.0.
Regardless of the
auto_detect_line_endingssetting, PHP still can, and continue to, automatically detect common line endings:
In PHP 8.1 and later, setting the
auto_detect_line_endings value to enable it (e.g.
auto_detect_line_endings=On) either in a PHP INI file or in an
ini_set call emits a deprecation notice.
Deprecated: auto_detect_line_endings is deprecated ...
Backwards Compatibility Impact
Unless a PHP INI file or an explicit
ini_set call enables the
auto_detect_line_endings directive, this deprecation should not cause any issues in existing applications.
auto_detect_line_endings directive only enables line-ending detection for
\r characters, which are only used in legacy ("classic") Mac OS environments. It is not necessary to enable
auto_detect_line_endings for PHP to detect standard
\r\n line-endings, which are common and used in Linux, Mac OS, and Windows systems.