If loading the PHP8 apache module on SuSe Linux, the configuration scripts incorrectly try to load it with automatically generated load statement of:
LoadModule php8_module /usr/lib64/apache2/mod_php8.so
This does not work, the patch below fixes the conf file generator...
--- /usr/share/apache2/get_module_list 2023-01-14 22:41:49.586825349 -0500
+++ /usr/share/apache2/get_module_list 2023-01-14 22:42:02.171600410 -0500
@@ -91,4 +91,8 @@
esac
+ if [ "$module_id" = "php8_module" ]; then
+ module_id="php_module"
+ fi
+
if [[ -f $module_path ]]; then
printf "LoadModule %-30s %s\n" $module_id $module_path >&3Други промени
Почист и полокален преглед на PHP референцата, со задржана структура од PHP.net и подобра читливост за примери, секции и белешки.
Други промени
Референца за `migration80.other-changes.php` со подобрена типографија и навигација.
Други промени
Промени во SAPI модули
Apache2Handler
PHP модулот е преименуван од php7_module to
php_module.
Променети функции
Рефлексија
ReflectionClass::getConstants() and
Име на константа на класа. резултатите сега можат да се филтрираат преку нов параметар filter. Три нови константи беа додадени за употреба со него:
Стандардно
Математичките функции abs(), ceil(),
floor() and round() сега правилно ги почитуваат
the strict_types directive. Претходно, тие го принудуваа првиот аргумент дури и во режим на стриктен тип.
candido1212 на yahoo точка com точка br
-
На 8.0.0, PECL zip 1.18.1 and Додај ги сите php скрипти и текстуални датотеки од тековната работна директорија методите прифаќаат повеќе вредности во
optionsаргументот од тип низа:flagscomp_methodcomp_flagsenv_methodenc_password
-
(PHP 5 >= 5.3.0, PHP 7, PHP 8, PECL phar >= 2.0.0), (PHP 5 >= 5.3.0, PHP 7, PHP 8, PECL zip >= 1.9.0) and (PHP 5 >= 5.3.0, PHP 7, PHP 8, PECL phar >= 2.0.0) методите имаат нов
flagsаргумент. Ова овозможува управување со кодирањето на името (ZipArchive::FL_ENC_*) и замена на записот (ZipArchive::FL_OVERWRITE). -
може да биде име на датотека или директориум за извлекување, или низа од имиња на датотеки и директориуми за извлекување. Стандардно, овој метод нема да презапишува постоечки датотеки, третиот параметар може да се постави на true за да се овозможи презапишување на датотеките. Овој метод е сличен на сега ја враќа времето на модификација на датотеката.
Други промени во екстензиите
CURL
-
CURL екстензијата сега бара најмалку libcurl 7.29.0.
-
Отповиканиот параметар
versionof curl_version() е отстрането.
Датум и време
DatePeriod сега имплементира IteratorAggregate (наместо Траверзабилно).
DOM
DOMNamedNodeMap and DOMNodeList сега имплементира IteratorAggregate (наместо Траверзабилно).
Меѓународен
IntlBreakIterator and ResourceBundle сега имплементира IteratorAggregate (наместо Траверзабилно).
Омажи
Enchant екстензијата сега користи libenchant-2 по дифолт кога е достапна. libenchant верзија 1 сè уште е поддржана, но е отповикана и може да биде отстранета во иднина.
GD
-
На
num_pointsпараметарот imagepolygon(), imageopenpolygon() and imagefilledpolygon() сега е опционално, т.е. овие функции може да се повикаат со 3 или 4 аргументи. Ако аргументот е изоставен, тој се пресметува какоcount($points)/2. -
Функцијата imagegetinterpolation() за добивање на тековниот метод на интерполација е додаден.
JSON
JSON екстензијата веќе не може да се оневозможи и секогаш е интегрален дел од секое PHP склопување, слично на екстензијата за датум.
MBString
Unicode табелите со податоци се ажурирани на верзија 13.0.0.
PDO
PDOStatement сега имплементира IteratorAggregate (наместо Траверзабилно).
LibXML
Минималната потребна верзија на libxml сега е 2.9.0. Ова значи дека вчитувањето на надворешни ентитети сега е загарантирано да биде оневозможено по дифолт, и не се потребни дополнителни чекори за заштита од XXE напади.
MySQLi / PDO MySQL
-
Кога не се користи mysqlnd (што е стандардната и препорачана опција), минималната поддржана верзија на libmysqlclient сега е 5.5.
-
mysqli_result сега имплементира IteratorAggregate (наместо Траверзабилно).
за да се спречи вчитувањето на надворешни ентитети.
PGSQL и PDO PGSQL екстензиите сега бараат најмалку libpq 9.1.
script.bat -h
Повикување readline_completion_function() пред да започне интерактивниот промпт (на пр. во auto_prepend_file) сега ќе ја надвладее стандардната функција за комплетирање на интерактивниот промпт. Претходно, readline_completion_function() работеше само кога се повикуваше по започнувањето на интерактивниот промпт.
SimpleXML
SimpleXMLElement сега имплементира RecursiveIterator и ја апсорбираше функционалноста на SimpleXMLIterator. SimpleXMLIterator е празна екстензија од SimpleXMLElement.
Промени во ракувањето со INI датотеки
-
com.dotnet_version е нова INI директива за избор на верзијата на .NET framework што ќе се користи за dotnet objects.
-
zend.exception_string_param_max_len е нова INI директива за поставување на максималната должина на низата во аргумент на низиран стек траг.
EBCDIC
EBCDIC цели веќе не се поддржани, иако е малку веројатно дека тие сè уште работеа во прв ред.
Оваа функција е достапна кога PHP е поврзан со библиотеки на Oracle Database од верзија 10
-
Додаден е Just-In-Time (JIT) компајлер во opcache екстензијата.
-
array_slice() на низа без празнини веќе нема да ја скенира целата низа за да го најде почетниот офсет. Ова може значително да го намали времето на извршување на функцијата со големи офсети и мали должини.
-
strtolower() сега користи SIMD имплементација кога го користи
"C"LC_CTYPEлокација (што е стандардно).