PHP开发团队宣布PHP 8.2.0现已可用,该版本是PHP语言目前最新的次要版本。PHP 8.2带来了许多改进和新特性,主要更新内容如下。
只读类 (Readonly classes)
析取范式 (DNF) 类型
新的独立类型:null、false 和 true
新的 “Random” 扩展
traits 中的常量
弃用动态属性。动态属性的创建已被弃用,除非该类通过使用#[\AllowDynamicProperties] 属性选择加入。 stdClass 允许动态属性。__get()/__set() magic methods 的使用不受此更改的影响。
CLI(命令行界面)
修复了bug#81496(服务器记录不正确的请求方法)。
更新了内置服务器的mime-type表。
通过PHP_CLI_SERVER_WORKERS环境变量修复了内置服务器的潜在溢出。
不变的GH-8575通过将STDOUT、STDERR和STDIN更改为在资源销毁时不关闭。
在静态资源上实现内置的Web服务器响应,而不是主体对主体的请求。
实现内置的Web服务器,以HTTP状态405响应静态资源上的删除/放置/修补请求。
修复了bugGH-9709(带有-w/-s选项的空指针取消引用)。
Curl:
添加了对CURLOPT_XFERINFOFUNCTION的支持。
添加了对CURLOPT_MAXFILESIZE_LARGE的支持。
增加了从cURL 7.62到7.80的新常数。
新函数curl _ maintenance()。
OpenSSL:
无超时/无阻塞/MSG_DONTWAIT时放弃套接字上的轮询调用。
修复了bugGH-9310(SSL local_cert和local_pk不考虑open_basedir)。
实施FR # 76935(“chacha 20-poly 1305”是AEAD,但其工作方式与AEAD不同)。
增加了openssl_cipher_key_length函数。
修复了bugGH-9517(编译错误与PR相关的openssl扩展GH-9366).
修复了OpenSSL引擎列表的缺失清理-尝试修复GH-8620。
修复了bugGH-8430(用no-md2、no-md4或no-rmd160编译的OpenSSL不会构建)。
要下载PHP 8.2.0的源代码,请访问下载页面:https://www.php.net/downloads.php
Windows源代码和二进制文件下载页面:https://windows.php.net/download