PHP 8.4正式发布,新增及移除的功能有哪些?
PHP 8.4 第一个正式发布版本今天发布。PHP 8.4 在很大程度上向后兼容 PHP 8.0 到 8.4,并带来了一些新功能。
PHP 8.4 新增/变更功能
curl_getinfo
支持CURLINFO_POSTTRANSFER_TIME_T
curl_version()
支持feature_list
- 新增
http_(get|clear)_last_response_headers
函数 - 新增
CURLOPT_PREREQFUNCTION
选项 - 新增
CURLOPT_DEBUGFUNCTION
选项 - 新增
CURLOPT_SERVER_RESPONSE_TIMEOUT
选项,以替换CURLOPT_FTP_RESPONSE_TIMEOUT
- 新增
CURLOPT_TCP_KEEPCNT
选项 - 新增
round()
函数 - 新增
mb_trim
、mb_ltrim
和mb_rtrim
函数 DateTime(Immutable)
类新增createFromTimestamp
方法phpinfo
显示 PHP 整数大小信息DateTime(Immutable)
类新增get/setMicrosecond
方法- 新增函数
request_parse_body
PCRE2
升级及相关正则表达式变化
PHP 8.4 语法/功能变更
OpenSSL
:最低要求的OpenSSL
版本提升至1.1.1
MBString
:Unicode 字符数据库更新至版本 16exit
/die
从语言构造变为函数CURLOPT_DNS_USE_GLOBAL_CACHE
不再有效- 密码哈希:默认
Bcrypt
成本从10
变为12
PHP_ZTS
和PHP_DEBUG
常量值类型从int
变为bool
- Opcache:JIT 启用方式的 INI 变更
round()
函数:无效的舍入模式将抛出\ValueError
异常- Curl:最低要求的
libcurl
版本提升至7.61.0
PHP 8.4 弃用功能
- 隐式可为空的参数声明被弃用
E_STRICT
常量被弃用- 调用
session_set_save_handler()
时使用超过 2 个参数被弃用 CSV
:必须提供$escape
参数CURLOPT_BINARYTRANSFER
被弃用
PHP 8.4 移除功能
- Pspell 扩展从 PHP 核心移至 PECL
- IMAP 扩展从 PHP 核心移至 PECL
- OCI8 和 PDO-OCI 扩展从 PHP 核心移至 PECL
来源:
THE END