ubuntu 24.04 中 php 8.3 的 jit 默认关闭,需手动启用 opcache 并配置 opcache.jit=1255 和 opcache.jit_buffer_size=100m,重启服务后通过 opcache_get_status() 验证 enabled 和 on 均为 true。

Ubuntu 24.04 中 PHP 8.3 的 JIT 功能默认是关闭的,必须手动启用且依赖 opcache。开启后能显著提升 CPU 密集型脚本性能,比如数学计算、模板渲染或复杂逻辑处理。
确认 opcache 已启用
JIT 只在 opcache 启用时生效。检查当前配置:
- 运行 php -i | grep "opcache.enable",确认输出为 opcache.enable => On
- 若未启用,编辑主配置文件:sudo nano /etc/php/8.3/cli/php.ini(CLI)和 /etc/php/8.3/fpm/php.ini(FPM)
- 确保这两行存在且未被注释:
opcache.enable=1
opcache.enable_cli=1(如需 CLI 下测试 JIT)
配置 JIT 缓冲区与开关
在同一个 php.ini 文件中,添加或修改以下两行:
- opcache.jit_buffer_size=100M(最小建议值,太小会导致 JIT 失效)
- opcache.jit=1255(推荐组合:启用跟踪 JIT + 全局寄存器分配 + 中等优化)
保存后,重启服务:sudo systemctl restart php8.3-fpm(FPM 模式)或直接重试 CLI 命令。
验证 JIT 是否生效
创建一个临时 PHP 文件(如 /tmp/jit-test.php),内容为:
var_dump(opcache_get_status()['jit']);执行:php /tmp/jit-test.php。正常输出中应包含:
- "enabled" => true
- "on" => true
- "buffer_size" > 0(如 104857600 表示 100MB)
若看到 "on" => false 或 "buffer_size" => 0,说明配置未加载或缓冲区设为 0。
FPM 环境额外注意
如果使用 PHP-FPM(常见于 Nginx/Apache),仅改 php.ini 不够——还需确认 FPM 池配置未覆盖 opcache 设置:
- 检查 /etc/php/8.3/fpm/pool.d/www.conf 中是否有 php_admin_value[opcache.jit] 类似行,有则删掉或同步设为 1255
- 确保该文件里没有 php_admin_flag[opcache.enable] = off 这类禁用项
- 改完务必重启:sudo systemctl restart php8.3-fpm
php免费学习视频:立即使用
踏上前端学习之旅,开启通往精通之路!从前端基础到项目实战,循序渐进,一步一个脚印,迈向巅峰!











