Image

知识库 → 使用 php 8 设置提高网站速度

[虚拟服务器] [VPS/VDS 上的应用]
出版日期: 26.03.2024

PHP 8 具有优化性能的新功能以及提高脚本速度的新功能,称为 JIT(即时)编译。

纯解释型编程语言没有编译步骤,直接在虚拟机上执行代码。 大多数解释语言,包括 PHP,实际上都有一个轻量级的编译步骤来提高性能。

另一方面,提前(AOT)编程语言要求代码在运行之前进行编译。

即时 (JIT) 编译是解释器和提前编译的混合模型,其中部分或全部代码通常在运行时进行编译,而不需要开发人员手动编译。

该选项在 opcache 模块中控制。 该模块旨在加速脚本的运行,启用JIT进一步加快脚本的执行速度——即 允许双加速。

比较速度增加图。

在我们的示例中,我们将使用 php 8.3。

1. 检查模块可用性

php8.3 -m | grep OPcache

在输出中,它可能在常规部分和 Zend 模块部分出现 2 次。 这意味着它已启用。

1.1 如果关闭,则打开

在我们的示例中,我们使用 Debian 12,您的路径可能有所不同。

nano /etc/php/8.3/fpm/conf.d/10-opcache.ini
; configuration for php opcache module
; priority=10
opcache.enable=1
opcache.revalidate_freq=0
opcache.validate_timestamps=1
opcache.max_accelerated_files=10000
opcache.memory_consumption=192
opcache.max_wasted_percentage=10
opcache.interned_strings_buffer=16
opcache.fast_shutdown=1
zend_extension=opcache.so
opcache.jit=on

1.2 在php设置中启用该模块

nano /etc/php/8.3/fpm/php.ini

添加到配置行的最末尾:

zend_extension=opcache.so
opcache.enable=1
opcache.enable_cli=1
opcache.jit_buffer_size=256M
opcache.jit=1235

1.3 重启fpm

service php8.3-fpm restart
service php8.3-fpm status

1.4 让我们再次检查该模块是否存在

php8.3 -m | grep OPcache

1.5 使用脚本检查

让我们创建一个包含以下内容的 php 文件

touch info.php
nano info.php
<?php
phpinfo();
?>

通过浏览器 http[s]://domain.tld/info.php 打开脚本并使用 Ctrl + f 搜索单词 opcache,找到设置参数。

这些行表明 OPcache 模块和 JIT 附加组件已启用。





暂时没有评论