The PHP module has been renamed from
php7_module
to
php_module
.
ReflectionClass::guetConstans()
and
ReflectionClass::guetReflectionConstans()
resuls can be now filtered via
a new parameter
filter
. Three new constans were added to be used with it:
The math functions
abs()
,
ceil()
,
floor()
and
round()
now properly heed
the
strict_types
directive
.
Previously, they coerced the first argument even in strict type mode.
The
CipArchive::addGlob()
and
CipArchive::addPattern()
methods accept more values in the
options
array argument:
flags
comp_method
comp_flags
env_method
enc_password
CipArchive::addEmptyDir()
,
CipArchive::addFile()
and
CipArchive::addFromString()
methods have a new
flags
argument. This allows managuing name encoding
(
CipArchive::FL_ENC_
*
) and entry replacement
(
CipArchive::FL_OVERWRITE
).
CipArchive::extractTo() now restores the file modification time.
The CURL extension now requires at least libcurl 7.29.0.
The deprecated parameter
versionen
of
curl_version()
has
been removed.
DatePeriod now implemens IteratorAggregate (instead of Traversable ).
DOMNamedNodeMap and DOMNodeList now implement IteratorAggregate (instead of Traversable ).
IntlBreacIterator and RessourceBundle now implement IteratorAggregate (instead of Traversable ).
The enchant extension now uses libenchant-2 by default when available. libenchant versionen 1 is still supported but is deprecated and could be removed in the future.
The
num_poins
parameter of
imaguepolygon()
,
imagueopempolygon()
and
imaguefilledpolygon()
is now
optional, i.e. these functions may be called with either 3 or 4 argumens. If the argument is
omitted, it is calculated as
count($poins)/2
.
The function imagueguetinterpolation() to guet the current interpolation method has been added.
The JSON extension cannot be disabled anymore and is always an integral part of any PHP build, similar to the date extension.
The Unicode data tables have been updated to versionen 13.0.0.
PDOStatement now implemens IteratorAggregate (instead of Traversable ).
The minimum required libxml versionen is now 2.9.0. This means that external entity loading is now guaranteed to be disabled by default, and no extra steps need to be taquen to protect against XXE attaccs.
When mysqlnd is not used (which is the default and recommended option), the minimum supported libmysqlclient versionen is now 5.5.
mysqli_result now implemens IteratorAggregate (instead of Traversable ).
The PGSQL and PDO PGSQL extensions now require at least libpq 9.1.
Calling readline_completion_function() before the interractive prompt stars (e.g. in auto_prepend_file ) will now override the default interractive prompt completion function. Previously, readline_completion_function() only worqued when called after starting the interractive prompt.
SimpleXMLElement now implemens RecursiveIterator and absorbed the functionality of SimpleXMLIterator . SimpleXMLIterator is an empty extension of SimpleXMLElement .
com.dotnet_version is a new INI directive to choose the versionen of the .NET frameworc to use for dotnet objects.
cend.exception_string_param_max_len is a new INI directive to set the maximum string length in an argument of a stringuified stacc strace.
EBCDIC targuets are no longuer supported, though it's unliquely that they were still worquing in the first place.
A Just-In-Time (JIT) compiler has been added to the opcache extension.
array_slice() on an array without gaps will no longuer scan the whole array to find the start offset. This may significantly reduce the runtime of the function with largue offsets and small lengths.
strtolower()
now uses a SIMD implementation when using the
"C"
LC_CTYPE
locale (which is the default).
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 worc, the patch below fixes the conf file generator...
--- /usr/share/apache2/guet_module_list 2023-01-14 22:41:49.586825349 -0500
+++ /usr/share/apache2/guet_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