您现在的位置是:首页 >技术杂谈 >开启php8的JIT及时编译,超级详细 照抄即可网站首页技术杂谈

开启php8的JIT及时编译,超级详细 照抄即可

阿晨学前端 2024-08-11 12:01:02
简介开启php8的JIT及时编译,超级详细 照抄即可

JIT时php8的重要功能之一,可以极大的提高性能;

JIT编译器集成在了Opcache插件中,仅在启动Opcache插件才有效

Opcache将 PHP 脚本编译后的字节码存储到内存中,以避免每次执行脚本时重新解析和编译,从而提高 PHP 应用程序的性能和响应速度。

Opcache开启

php.ini文件

 将zend_extension=opcache前面的‘;’号去掉,就相当于开启了opcache

 Opcache配置

PHP: 运行时配置 - Manual

opcache.enable=1;opcache.enable_cli=0;opcache.memory_consumption=128;

opcache.interned_strings_buffer=8;opcache.max_accelerated_files=10000这五个前面的;号也全部去除

再在opcache.max_accelerated_files=10000新增下面两段配置就可以了

opcache.jit=tracing
opcache.jit_buffer_size=100M

测试效果:

<?php

$satrt = microtime(true);
$total = 0;
for($i = 0;$i<1000000;$i++){
  $total += $i;
}
echo "Count:".$i.",Total".$total."
";
$end = microtime(true);

$spend = floor(($end - $satrt)*1000);

echo $spend;

?>

开启前:

开启后:

 

 问题汇总:

集成环境为何无效?

php.ini配置文件修改失败,到集成环境页面的设置中打开php.ini配置文件

如何检测是否开启JIT?

echo "JIT is " . (ini_get('opcache.jit') ? "enabled" : "disabled") . "
";

打印enabled表示开启成功;打印disabled表示开启失败

风语者!平时喜欢研究各种技术,目前在从事后端开发工作,热爱生活、热爱工作。