PHP 8.4: 新增 mb_ucfirst 和 mb_lcfirst 函数
PHP 提供 ucfirst 和 lcfirst 函数来更改给定字符串中第一个字符的大小写。mbstring 扩展为 PHP 的大多数标准字符串函数提供了多字节安全函数。然而,在 PHP8.4 之前,mbstring 扩展没有为 ucfirst 和 lcfirst 函数提供多字节安全的对应函数。在 PHP 8.4 中,mbstring 扩展添加了 mb_uc...
PHP 8.4: Curl: libcurl 最小版本需求增加到 7.61.0
Curl 扩展在 PHP 中公开了 libcurl 功能。虽然可以使用任何支持的 libcurl 版本编译 Curl 扩展,但该扩展需要特定的最低 libcurl 版本。这使得扩展更容易确保某些功能和 API 始终可用。在 PHP 8.4 之前,Curl 扩展要求 libcurl 版本在 7.29.0(2013 年发布)以上。而 PHP 8.4 及其之后的版...
PHP 8.4: Curl: curl_version() 支持 feature_list
Curl 扩展的 curl_version 函数返回包含 Curl 版本及编译信息的关联数组。包括 Curl 版本、SSL 库名及版本、Brotli 和 libz 版本、Curl 支持的协议列表以及 Curl 支持的所有特性的位掩码(bitmask)。功能的位掩码不便于发现,也不便于检查 Curl 中是否支持特定功能(如HTTP/2、HSTS等)。在 PHP...
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