我们很高兴地宣布

PHP 8.0 现已在 Hostinger 服务器上可用。此版本包含新功能和更改,将为您的 Web 项目提供最佳性能。

由于这是一次重大更新,我们鼓励所有用户迁移到最新版本并熟悉新的更改,我们将在本文中介绍这些更改。

为什么需要 PHP 8.0?
Phoronix进行的最新基准测试表明,PHP 8.0 的性能比其前身提高了10% 。这些数据表明基于 PHP 的网站和应用程序前景光明。

PHP 8.0-rc5 基准测试
更好的是,测试甚至没有使用 JIT 编译器(PHP 8.0 引入的一项新优化功能)完成。因此,如果启用此功能,开发人员可以期待更优化的性能。

此外,该版本还实现了新功能,使编码变得更快、更清晰,从而减少了重复和冗余代码的数量。

由于这是版本更新,因此如果您在没有事先修改的情况下过渡到 PHP 8.0,您的网站可能会经历一些更改,这些更改可能会导致网站瘫痪。为了帮助您做好迁移准备,我们将指导您了解最新功能。

如何更改 PHP 版本

Hostinger 客户可以按照以下步骤更新其 PHP 版本:

登录hPanel并打开“主机帐户”面板。
在“高级”部分中,单击“PHP 设置”。
PHP 版本选项卡将显示正在使用的版本。要降级到最新版本,请选择PHP 8.0并按“保存”。
在 hPanel 的 PHP 设置屏幕上选择 PHP 8.0
请注意,更新可能需要几分钟才能完成,并可能导致您的网站暂时不可用。

PHP 8.0 的新增功能
新的更新以及许多新功能带来了许多生活质量的变化。让我们探讨一下 PHP 8.0 中的新增内容和变化。

JIT(即时)编译器
JIT 编译器是PHP 8.0 最有趣的更新之一。此功能旨在与opcache配合以提高执行脚本时的性能。

什么是JIT?
JIT 是just-in-time的缩写,它在执行输出之前将操作码编 日本电报电话号码列表 译成机器代码。要理解这意味着什么以及它是如何工作的,我们需要了解 PHP 脚本执行的阶段,它们是:

日本电报电话号码列表

词法分析。这一步是 PHP 解释器 Zend Engine 将代码转换为机器可读标记的地方。
分析仪。解释器解析标记以生成抽象语法树 (AST),这是一种显示代码如何工作的树状表示形式。
编译。解释器将 AST 节点转换为操作码,操作码是机器可读的指令,告诉 Zend 虚拟机 (VM) 要执行什么操作。
执行。解释器将操作码传递给 Zend VM,Zend VM 会将操作码编译成机器代码来执行。
此过程使用大量服务器资源,特别是当 PHP 脚本收到重复请求时。

这就是 PHP 5.5 引入opcache扩展的原因,它存储编译阶段的操作码。

当服务器收到对同一脚本的新请求时,解释器可以立即执行 opcache 中的操作码。这样,就不需要从头开始重新启动执行过程。

几年后, PHP 7.4添加了预加载功能因此,当服务器第一次收到脚本请求时,解释器可以立即传递操作码以供执行。

尽管有这些优点,但也存在一些缺点。一是在该过程即将结束时,Zend VM 仍然需要在运行之前将操作码转换为机器代码,这可能非常耗时且占用资源。

这就是 JIT 编译器的用武之地。它会在第一次运行时将操作码编译成机器代码,为下一次运行做准备。

当有 JIT 编译脚本的请求时,PHP 将直接由 CPU 而不是 Zend VM 执行,从而获得更快的性能。与之前的版本相比,PHP 8.0 中的脚本执行阶段如下所示:

PHP 8 脚本执行阶段
有两种 JIT 编译引擎:

功能。根据RFC的说法,启用 JIT 是提高 PHP 性能的最佳方法。因此,跳过此功能可能会导致您错过一个重要的好处。

幸运的是,最近的测试表明,JIT 编译器

已经能够改进脚本执行过程,主要是在使用跟踪引擎的情况下。

PHP综合基准测试显示,启用跟踪模式后速度提高了 3 倍。在长时间运行的应用程序中,您可以预期性能会提高两倍。

JIT 对 PHP 8 性能的贡献
对于 WordPress 用户和开发人员来说,JIT 编译器也可以带来 客户成功:专家的冒险 轻微的提升,尽管可能没有那么显着。

您需要减少 TTFB、优化数据库并减少 HTTP 请求的数量以获得最佳性能。也就是说,PHP 开发人员可以通过使用分析和推测优化来继续改进工作。

如果要启用 JIT,请确保opcache扩展 处于活动状态。

使用共享主机的客户可以通过打开主机 我们很高兴  帐 我们很高兴  户面板-> PHP 设置来 河南移动电话号码列表  执行此操作。在PHP 扩展选项卡中,确保选中“ opcache ”框。

PHP 扩展屏幕
PHP 8.0代码更加简洁。

您可以对属性、参数和返回类型使用联合类型,但需要记住一些限制。请参阅RFC了解更多信息。

名称参数
在 PHP 的早期版本中,将多个参数传递给函数需要使用 我们很高兴  声明参数的顺序位置,如下所示:

 

发表评论

您的邮箱地址不会被公开。 必填项已用 * 标注

滚动至顶部