其他更改

SAPI 模块中的更改

Apache2Handler

PHP 模块已从 php7_module 重命名为 php_module

已更改的函数

标准

数学函数 abs()ceil()floor()round() 现在会正确遵循 strict_types 指令。以前,即使在严格类型模式下,它们也会强制转换第一个参数。

Zip

扩展的其他更改

CURL

  • CURL 扩展现在至少需要 libcurl 7.29.0。

  • curl_version() 的已弃用参数 version 已被删除。

日期和时间

DatePeriod 现在实现了 IteratorAggregate(而不是 Traversable)。

DOM

DOMNamedNodeMapDOMNodeList 现在实现了 IteratorAggregate(而不是 Traversable)。

Intl

IntlBreakIteratorResourceBundle 现在实现了 IteratorAggregate(而不是 Traversable)。

Enchant

enchant 扩展现在默认使用 libenchant-2(如果可用)。libenchant 版本 1 仍然受支持,但已弃用,可能会在将来被删除。

GD

JSON

JSON 扩展不再可以禁用,并且始终是任何 PHP 构建的组成部分,类似于日期扩展。

MBString

Unicode 数据表已更新至版本 13.0.0。

PDO

PDOStatement 现在实现了 IteratorAggregate(而不是 Traversable)。

LibXML

现在至少需要 libxml 版本 2.9.0。这意味着现在默认情况下保证禁用外部实体加载,无需采取任何额外步骤即可防止 XXE 攻击。

MySQLi / PDO MySQL

PGSQL / PDO PGSQL

PGSQL 和 PDO PGSQL 扩展现在至少需要 libpq 9.1。

Readline

在交互式提示开始之前(例如,在 auto_prepend_file 中)调用 readline_completion_function() 现在会覆盖默认的交互式提示完成函数。以前,readline_completion_function() 只在交互式提示开始后调用时有效。

SimpleXML

SimpleXMLElement 现在实现了 RecursiveIterator 并吸收了 SimpleXMLIterator 的功能。 SimpleXMLIteratorSimpleXMLElement 的空扩展。

INI 文件处理的更改

  • com.dotnet_version 是一个新的 INI 指令,用于为 dotnet 对象选择要使用的 .NET 框架版本。

  • zend.exception_string_param_max_len 是一个新的 INI 指令,用于设置字符串化堆栈跟踪中参数的最大字符串长度。

EBCDIC

不再支持 EBCDIC 目标,尽管它们可能根本没有正常工作。

性能

  • 已将即时 (JIT) 编译器添加到 opcache 扩展中。

  • 对没有间隙的数组进行 array_slice() 将不再扫描整个数组以找到起始偏移量。这可能会显着减少带有较大偏移量和较小长度的函数的运行时间。

  • 当使用 "C" LC_CTYPE 本地化(这是默认设置)时,strtolower() 现在使用 SIMD 实现。

添加注释

用户贡献的注释 1 个注释

up
-2
barry dot nelson at amobiledevice dot com
1 年前
如果在 SuSe Linux 上加载 PHP8 apache 模块,配置脚本会错误地尝试使用自动生成的加载语句来加载它
LoadModule php8_module /usr/lib64/apache2/mod_php8.so
这不起作用,下面的补丁修复了 conf 文件生成器...

--- /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
To Top