Изменения, которые ломают обратную совместимость
ODBC
Модуль ODBC теперь экранирует имя пользователя и пароль в случае,
если передаётся строка соединения вместе с именем пользователя/паролем, тогда строка соединения будет изменена.
Раньше при использовании пользовательских значений, нуждающихся в экранировании,
могли сгенерировать неправильную строку соединения или вставить значения из данных,
полученных от пользователя. Правила экранирования должны быть идентичны поведению
.NET BCL DbConnectionOptions.
PDO_ODBC
Модуль PDO_ODBC также экранирует имя пользователя и пароль при передаче строки подключения.
Дополнительные сведения смотрите в разделе изменение модуля ODBC.
Стандартные функции
Функция glob() теперь возвращает пустой массив (array),
если все пути находятся вне пределов директории, определённой в open_basedir.
Ранее функция возвращала false
.
Более того, предупреждение теперь выдаётся, даже если только некоторые пути ограничены с помощью
директивы open_basedir.
Метод FilesystemIterator::__construct(): до версии PHP 8.2.0
константа FilesystemIterator::SKIP_DOTS
была установлена всегда и не могла быть отключена.
Для сохранения прежнего поведения константа должна быть явно установлена при использовании
параметра flags
.
Значение по умолчанию параметра flags
не было изменено.
Функции strtolower(),
strtoupper(),
stristr(),
stripos(),
strripos(),
lcfirst(),
ucfirst(),
ucwords()
и str_ireplace() больше не чувствительны к локализации.
Теперь они выполняют преобразование регистра ASCII, как если бы локаль была "C".
Локализованные версии этих функций доступны в модуле MBString.
Более того, функция array_change_key_case() и сортировка
с помощью SORT_FLAG_CASE
теперь также используют преобразование регистра ASCII.
Функция str_split() теперь возвращает пустой массив (array), если была вызвана с пустой строки (string).
Ранее она возвращала массив с одной пустой строкой.
На функцию mb_str_split() это изменение не влияет,
так как она уже работала подобным образом.
Функции ksort() и krsort() теперь выполняют
сравнение числовых строк при SORT_REGULAR
, используя стандартные правила PHP 8.
Функция var_export() больше не опускает ведущий обратный слеш для экспортируемых классов,
т.е. они теперь полностью квалифицированы.