抢先体验:MacOS成功安装PHP8.4教程

根据官方消息,PHP 8.4将于2024年11月21日发布。它将通过三个 alpha 版本、三个 beta 版本和六个候选版本进行测试。

这次的重大更新将为PHP带来许多优化和强大的功能。我们很高兴能够引导您完成最有趣的更新升级,这些更改将使我们能够编写更好的代码并构建更强大的应用程序。

准备好了吗?让我们深入了解吧!


PHP8.4的新增功能

PHP 8.4 的 DOM 扩展现在支持 HTML5

PHP 8.4 的 DOM 扩展刚刚进行了重大升级,支持 HTML5 解析和序列化。这意味着在处理 HTML5 特定标签或在 JavaScript 中嵌入 HTML 时不再令人头疼。

只需使用新DOM\HTMLDocument类,您的 HTML5 内容就会得到正确处理,符合现代 Web 标准。

以下是从字符串创建 HTML 文档的方法:

html 复制代码
use DOM\HTMLDocument;

$htmlDocument = HTMLDocument::createFromString('<!DOCTYPE html><html><body>Hello, HTML5!</body></html>');

或者从文件中:

html 复制代码
use DOM\HTMLDocument;

$htmlDocument = HTMLDocument::createFromFile('path/to/your/file.html');

了解更多:++PHP RFC:DOM HTML5 解析和序列化++

PHP 8.4 默认情况下 bcrypt 加密 成本增加

在 PHP 8.4 中, bcrypt的默认加密成本已增加到 12。这意味着什么?

Bcrypt 是 PHP 使用的密码哈希函数。它充当了抵御想要破解密码的黑客的盾牌。

该护盾的加密强度可以调整。设置或"成本"越高,屏蔽越强,因为 bcrypt 是一种自适应函数:"随着时间的推移,可以增加迭代次数以使其变慢,因此即使计算量增加,它仍然可以抵抗暴力搜索攻击力量。"

为什么它如此重要?因为增加 bcrypt 的加密成本会使密码散列速度慢几毫秒。

了解更多信息:++PHP RFC:增加默认 BCrypt 加密成本++

PHP 8.4 可以更可靠地解析大型 XML 文档

此更改解决了 ext/xml PHP 扩展中涉及大型 XML 文档解析处理的潜在问题。

libxml2 版本 2.7.0 中的冲突修改在使用xml_parse()xml_parse_into_struct()函数时无意中中断了大型文档解析,从而导致解析错误。

PHP 8.4 引入了一个新的解析器选项来正确处理这些大型 XML 文档并防止解析错误,使开发人员能够有效地解析大型 XML 文档,而不需要复杂的解决方法。

了解更多信息:++PHP RFC:XML_OPTION_PARSE_HUGE++

PHP 8.4 中新的多字节修剪函数

PHP 8.4 的 mbstring 扩展现在包含三个新函数:mb_trim()mb_ltrim()mb_rtrim()。此添加使修剪具有多字节字符的字符串变得更加容易,从而改进了之前将 regex 与preg_replace().

新函数以多字节安全方式处理空格和其他字符。默认行为会删除一组预定义的字符,其中包括各种类型的空格字符,其中包括一些\s正则表达式中通常未涵盖的字符。

以下是 PHP 8.4 中的函数及其默认行为:

  • mb_trim($string, $characters):修剪字符串两端的字符。

  • mb_ltrim($string, $characters):从字符串的开头(左侧)修剪字符。

  • mb_rtrim($string, $characters):从字符串末尾(右侧)修剪字符。

默认情况下,$characters包括各种空白字符,但由于存储和兼容性问题,并非所有可能的 Unicode 字符。

了解更多:++PHP RFC:修剪函数 mb_trim、mb_ltrim 和 mb_rtrim 的多字节++

IMAP模块被移到PECL

在PHP 8.4中,IMAP模块无法在configure中编译集成,被移到了PECL。有IMAP模块需求的开发者,需要单独进行编译。


如何在MacOS上安装PHP8.4

目前PHP8.4还没有发布,但是ServBay己经集成了最新的PHP8.4 Dev版本,并且内置了IMAP等模块。开发者可以直接通过他们的官方网站https://www.servbay.com下载安装,只需要3分钟就可以配置好一个PHP开发环境

(ServBay 提供广泛的 PHP 版本,从 PHP 5.6 到最新的 PHP 8.4 Dev都有,确保开发者可以随时使用他们所需的开发环境)

了解相关

结论

PHP 8.4带来了大量令人兴奋的新功能和改进,使开发人员能够编写更干净、更快、更具表现力的代码。

然而,升级到 PHP8.4 时务必谨慎。考虑向后兼容性更改并彻底测试您的代码以确保平稳过渡。通过使用ServBay,可以在不影响开发环境的情况下了解PHP 8.4的新功能并仔细规划升级过程,您可以释放 PHP8.4 的全部潜力,并将您的开发技能提升到新的高度。

相关推荐
2401_857439693 小时前
SSM 架构下 Vue 电脑测评系统:为电脑性能评估赋能
开发语言·php
SoraLuna3 小时前
「Mac畅玩鸿蒙与硬件47」UI互动应用篇24 - 虚拟音乐控制台
开发语言·macos·ui·华为·harmonyos
阿7_QuQ4 小时前
怎么在Windows上远程控制Mac电脑?
macos
理想不理想v8 小时前
webpack最基础的配置
前端·webpack·node.js
小路恢弘9 小时前
使用Mac自带共享实现远程操作
macos
Smile灬凉城66610 小时前
反序列化为啥可以利用加号绕过php正则匹配
开发语言·php
南城巷陌10 小时前
JWT认证机制在Node.js中的详细阐述
node.js·jwt认证机制·前端安全认证
奥顺11 小时前
PHPUnit使用指南:编写高效的单元测试
大数据·mysql·开源·php
理想不理想v12 小时前
node.js的简单示例
node.js