首页 > 网站 > PHP8 使用 JIT

AI 摘要

PHP8中的JIT编译器可以显著提高代码执行速度,这是因为当JIT按预期工作时,代码不需要通过Zend VM执行,而是直接作为CPU级指令直接执行。为了使用JIT,需要先安装OPcache,并在php.ini中进行相关配置,调整jit、jit_debug等参数。使用上述方法创建一个PHP文件,并访问后即可检测是否成功生效。

PHP8 中的 JIT

PHP 8 Just In Time(JIT)编译器带来的影响是毋庸置疑的。但是到目前为止,我发现关于 JIT 应该做什么却知之甚少。

经过多次研究和放弃,我决定亲自检查PHP源代码。结合我对C语言的一些知识和我目前收集到的所有零散信息,我提出了这篇文章,我希望它能帮助您更好地理解PHP的JIT。

简单一点来说 : 当JIT按预期工作时,您的代码不会通过Zend VM执行,而是作为一组CPU级指令直接执行。

理解 PHP 8 的 JIT

使用 JIT 提速

安装 OPcache

首先你得安装 OPcache,如何安装 OPcache 请看这篇文章:WordPress使用OPcache

使用 JIT

编辑 php.ini,添加以下代码:

;加载php_opcache拓展
zend_extension=php_opcache
;开启opcache,关闭则不会执行jit
opcache.enable=1
;开启cli模式opcache
opcache.enable_cli=1
;开启jit的debug
opcache.jit_debug=1
;默认是tracing,也可以function,官方最近值是1255
opcache.jit=1255
opcache.jit_buffer_size=100M
PHP8 使用 JIT插图

检测是否生效

创建一个名为 "test.php" 的 PHP 文件,放在你的网站根目录里,并在里面添加如下代码:

<?php var_dump(opcache_get_status()['jit']); 
PHP8 使用 JIT插图1

然后访问:https://www.youdomain.com/test.php

PHP8 使用 JIT插图2

如果enabled和on是正确的,那就ok了!

相关文章