PHP 8.5: Curl: 新增 curl_multi_get_handles 函数
PHP 8.5 是当前活跃的开发分支,预计将于 2025 年 11 月发布。本系列文章将提供 PHP 8.5 中将会出现的一些新特性、更新及弃用进行预览。PHP 8.5 中的 Curl 扩展添加了一个名为 curl_multi_get_handles 的新函数,该函数从 CurlMultiHandle 对象返回一个 CurlHandle 对象数组。新曾的 c...
PHP 8.4: MBString: Unicode 字符数据库更新到版本 16
MBString 扩展包含从 Unicode 规范中提取的数据子集,用于其操作,比如将给定字符串转换为大写或小写,确定给定字符串的宽度(在某些东亚脚本中有用)等。在 PHP 8.3 中,MBString 扩展包含了 2022 年 9 月发布的 Unicode 14.0 标准的数据。在 PHP 8.4 中,Unicode 字符数据库(UCD)数据源从 14.0...
PHP 8.4: Curl: 新增 CURL_HTTP_VERSION_3 及 CURL_HTTP_VERSION_3ONLY 常量,以支持 HTTP/3
如果 Curl 扩展是用 HTTP/3 的必要依赖项编译的,则 PHP Curl 扩展能够发出 HTTP/3(也称为 QUIC)HTTP 请求。PHP 8.4 中的 Curl 扩展要求 libcurl 7.61.0 或更高版本。Curl HTTP/3 支持要求 libcurl 7.66.0 或更高版本。从 PHP 8.2 及更高版本开始,可以通过向 CURL...
在 Ubuntu 和 Debian 中安装和升级 PHP 8.4
PHP 8.4 带来了几个新特性、安全性改进和性能改进,并有大量的特性弃用和删除。本指南解释了如何在 Ubuntu、Debian 或其衍生版本上安装 PHP 8.4 或升级到 PHP 8.4。虽然可以从源代码编译 PHP,但如下所述从 APT 存储库安装它通常更快、更安全,因为这些存储库将在未来提供最新的错误修复和安全更新。PHP 8.4 在当前的 Debi...
PHP 8.4: BCMath: 新增 bcdivmod 函数
PHP 8.4 中的 BCMath 扩展引入了一个名为 bcdivmod 的新函数,该函数将给定的数字除以给定的除数,并返回商和余数。结果与调用 bcdiv 和 bcmod 函数基本相同。bcdivmod 可用于需要商和余数的用例,它避免了必须分别调用 bcdiv 和 bcmod 函数。返回值是一个数组,第一个值是商,第二个值是余数。bcdivmod('42...
PHP 8.4 正式发布!
PHP 团队宣布了 PHP 8.4.1 立即可用,这也意味着 PHP 8.4 正式发布。此版本标志着 PHP 语言的最新 minor 版本。PHP 8.4 带来了许多改进和新功能,如:属性钩子非对称属性可见性惰性(Lazy)对象特定于 PDO 驱动的子类BCMath 对象类型等待...有关 PHP 8.4.1 的源代码下载,请访问官方下载页面,Windows...
在 PHP 中处理 10 亿行数据!
你可能听说过“十亿行挑战” (1brc),如果你没有听说过,去看看 Gunnar Morlings 的 1brc 仓库。第一种天真的方法我克隆了存储库,并在 measurements.txt 中创建了十亿行数据集...
PHP 中的单引号 vs. 双引号
最近,我又听说 PHP 社区中有人仍然在谈论单引号和双引号,他们说使用单引号只是一种微优化,但如果你习惯了一直使用单引号,你会节省大量的 CPU 周期!为什么会这样呢?PHP 实现了字符串插值,在其中它搜索字符串中变量的使用情况,并将其替换为所用变量的值:$juice = "apple"; echo "They drank some $juice juice...
PHP 8.4: 弃用使用两个以上参数调用 session_set_save_handler()
Session 扩展中的 session_set_save_handler 函数设置了一系列用户级会话存储函数,以覆盖内置的基于文件的存储机制。当应用需要将用户会话存储在数据库、内存中,或在自动化测试期间覆盖会话存储机制时,这很有用。session_set_save_handler 函数支持两个重载签名,这仅适用于原生内置的 PHP 函数,并且只有少数 PH...