Други промени
Почист и полокален преглед на PHP референцата, со задржана структура од PHP.net и подобра читливост за примери, секции и белешки.
Други промени
Референца за `migration81.other-changes.php` со подобрена типографија и навигација.
Други промени
Промени во SAPI модули
CLI
Пронајдете и отворете ја конфигурациската датотека на Apache. Стандардно, локацијата е како што следува: -a без readline екстензија сега ќе резултира со грешка. Претходно, -a без readline имаше исто однесување како повикување php без аргументи, освен печатење дополнителен
"Interactive mode enabled" порака. Овој режим беше not interactive.
PHPDBG
Далечинска функционалност од phpdbg е отстрането.
Променети функции
Јадро
Редоследот на својствата што се користат во foreach, var_dump(),
serialize(), споредба на објекти, итн. беше променет. Својствата сега се подредени природно според нивната декларација и наследување. Својствата декларирани во базна класа ќе бидат пред својствата на детето.
Овој редослед е конзистентен со внатрешниот распоред на својствата во
zend_object структура и го повторува редоследот во
default_properties_table[] and properties_info_table[]. Стариот редослед не беше документиран и беше предизвикан од деталите за имплементација на наследувањето на класите.
Филтер
На FILTER_FLAG_ALLOW_OCTAL знамето на
FILTER_VALIDATE_INT филтерот сега прифаќа октална низа со водечкиот октален префикс ("0o"/"0O").
GMP
Сите GMP функциите сега прифаќаат октална низа со водечкиот октален префикс ("0o"/"0O").
PDO ODBC
Добиј информации за MySQL хост with
PDO::ATTR_SERVER_INFO and
PDO::ATTR_SERVER_VERSION
сега враќаат вредности наместо да фрлаат PDOException.
Рефлексија
ако својството е недостапно. Можете да направите заштитено или приватно својство достапно со користење на and ReflectionMethod::setAccessible() веќе немаат ефект. Својствата и методите сега секогаш се сметаат за пристапни преку Reflection.
Стандардно
syslog() сега е бинарно безбеден.
Други промени во екстензиите
GD
imagewebp() сега може да прави безгубно WebP кодирање со поминување IMG_WEBP_LOSSLESS како квалитет.
Оваа константа е дефинирана само ако користениот libgd поддржува безгубно WebP кодирање.
MySQLi
ако постојат повеќе резултати, инаку and mysqli::fetch_all() се сега достапни при поврзување со libmysqlclient.
OpenSSL
-
На OpenSSL екстензија сега бара најмалку OpenSSL верзија 1.0.2.
-
OpenSSL 3.0 сега е поддржан. Имајте предвид дека многу шифри повеќе не се овозможени по дифолт (дел од постариот провајдер), и дека валидацијата на параметрите (на пр. минимални големини на клучеви) е построга сега.
Phar
-
SHA256 сега се користи по дифолт за потписи.
-
Додадена е поддршка за OpenSSL_SHA256 и OpenSSL_SHA512 потписи.
SNMP
-
Додадена е поддршка за SHA256 и SHA512 за безбедносниот протокол.
Стандардно
--with-password-argon2 сега користи pkg-config за откривање на libargon2. Како такво, алтернативна локација на libargon2 сега треба да се специфицира со користење на
PKG_CONFIG_PATH.
Промени во ракувањето со INI датотеки
-
На log_errors_max_len INI директивата е отстранета. Таа повеќе немаше ефект од PHP 8.0.0.
-
Водечкиот знак долар во цитиран стринг сега може да се избегне:
"\${"сега ќе се толкува како стринг со содржина${. -
Слеш знаците во двојни наводници сега се третираат поконзистентно како знаци за бегство. Претходно,
"foo\\"следено со нешто различно од нов ред не се сметаше за завршен стринг. Сега се толкува како стринг со содржинаfoo\. Сепак, како исклучок, стринг"foo\"следен со нов ред ќе продолжи да се третира како валиден стринг со содржинаfoo\наместо незавршен стринг. Овој исклучок постои за да поддржи наивни употреби на патеки до датотеки на Windows како што се"C:\foo\".