PHP 8.4: PCRE2 升级及正则表达式更改
PHP 正则表达式能力,以 preg_* 函数方式提供,其依赖于 PCRE(Perl 兼容的正则表达式)库。从 PHP 7.3 开始,PHP 开始使用 PCRE2。PHP 一直在缓慢地保持微小的 PCR E更新,如 2021 年的 PCRE2 10.39 和2022年的 PCRE2 10.40。然而,PCRE2 10.43 带来了一些重大变化,包括影响其支持...
PHP 8.4: Date: 新增 DateTime(Immutable)::get/setMicroseconds 方法
PHP 8.4 及其此后的版本中, DateTime 和 DateTimeImmutable 类支持通过 getMicroseconds 和 setMicroseconds 方法获取和设置 DateTime/DateTimeImmutable 对象的秒数。虽然可以使用时间戳创建/更新 DateTime 和 DateTimeImmutable 对象...
PHP 8.4: OCI8 和 PDO-OCI 扩展从 PHP 核心移至 PECL
oci8 和 pdo_oci8 扩展提供了在 PHP 中使用 Oracle 数据库的功能。这些扩展依赖于商业供应商 Oracle 的专有库。这些扩展累积的未修复错误已有一段时间。此外,这些扩展需要付出相当大的努力才能将其资源对象迁移到类对象。考虑到这些扩展对第三方专有库的依赖,以及所需的维护工作,oci8 和 pdo_oci8 扩展不再是 PHP 核心的一部...
PHP 8.4: 新增 request_parse_body 函数
PHP自动解析 HTTP POST 请求,以填充 $_POST 和 $_FILES 超级全局变量。然而,使用 PUT 和 PATCH 等方法的其他 HTTP 请求不会自动解析,而是由 PHP 应用来解析请求数据。随着越来越多地使用 HTTP 方法(如 PUT、DELETE 和 PATCH)的 REST API 的流行,一致地解析 HTTP 请求数据非常重要。...
PHP 8.4 : round() - 无效的取整模式抛出 \ValueError 异常
round() 函数对浮点值取整到最近的整数,或者指定精度的小数。它支持使用额外参数微调取整方法。在 PHP 8.4 之前,传递无效的取整模式参数时,将静默地假定默认使用 PHP_ROUND_HALF_UP 取整模式。在 PHP 8.4 及更高版本中,传递无效的舍入模式会导致 \ValueError 异常,并且不再假定为 PHP_ROUND_HALF_UP。...
PHP 8.4: PHP_ZTS 和 PHP_DEBUG 常量值类型从整型修改为布尔型
PHP_ZTS 和 PHP_DEBUG 是提供当前 PHP 运行时信息的两个全局常量。PHP_ZTS: 说明当前的 PHP 编译是否是线程安全。与 ZEND_THREAD_SAFE 常量是同样的值。PHP_DEBUG: 说明当前的 PHP 编译版本是不是 debug 版本。与ZEND_DEBUG_BUILD 值相同。在 PHP 8.4 之前,这两个常量包含整...
PHP 8.4: Opcache: INI 对 JIT 启用方式的更改
PHP 8.0 添加了 JIT 编译支持。默认禁用 JIT,并且有两个切换切换开关,opchache.jit 及 opcache.jit_buffer_size 用来控制 PHP 主要的功能模式以及 JIT 使用的缓冲大小(buffer size)。在 PHP 8.4 之前,其默认的 INI 配置值为:opcache.jit=tracing
PHP 8.4: Mbstring: 新增 mb_trim、mb_ltrim 和 mb_rtrim 函数
PHP 8.4 为现有的 trim、ltrim 和 rtrim 函数添加了等效的 mb_ 函数。trim/ltrim/rtrim 函数在字符串的开头和结尾都去掉空白字符。默认情况下,这会去掉空空格( )、制表符(\t)、LF(\n)、CR(\r)、NUL字节(\0)和垂直制表符(\v)字符。新的 mb_trim、mb_ltrim 和 mb_rtrim 函数支...
PHP 8.4: Date: 新增 DateTime(immutable)::createFromTimestamp 方法
PHP 8.4 中的 DateTime 和 DateTimeImmutable 类有一个名为 createFromTimeStamp 的新方法,用于从给定的 UNIX 时间戳(作为整数或浮点数)创建实例。PHP 8.4 之前,从 UNIX 时间戳中创建 DateTime,必须使用 createFromFormat 创建,通过 U / U.u 格式、
PHP 8.4 预览: Sodium: AEGIS-128L 和 AEGIS256 支持
AEGIS 是基于 AES 的认证加密算法家族,其速度明显快于 AES-GCM。如果扩展是使用 libsodium 1.0.19或更高版本编译的,则 PHP 8.4 中的 Sodium 扩展支持 AEGIS-128L 和 AEGIS-256 加密算法。PHP 8.4 Sodium 扩展支持 AEGIS-128L 和 AEGIS256,使用的 PHP...