【Azure App Service】为部署在App Service上的PHP应用开启JIT编译器
问题描述
在App Service for linux上创建一个PHP应用,通过 phpinfo() 查看PHP的扩展设置,发现JIT没有被开启, jit_buffer_size 大小为0.
那么,在App Service的环境中,如何开启JIT呢?
问题解答
PHP 8在PHP的内核中添加了JIT编译器,可以极大地提高性能。首先,仅在启用opcache的情况下,JIT才有效,这是大多数PHP安装的默认设置,但应确保opcache.enable在php.ini文件中将其设置为1 。通过opcache.jit_buffer_size 设置JIT。
在应用的 ini 设置文件中添加以下内容,如 phpext.ini
opcache.enable=1 opcache.jit_buffer_size=100M opcache.jit=1255
然后把 phpext.ini 文件与 项目文件一同,上传到App Service的 /home/site/wwwroot 目录中,并为ini设置文件单独放置一个目录为 ini。
当ini设置文件准备好之后,就需要配置App Service应用该配置文件。通过设置 PHP_INI_SCAN_DIR
来实现
PHP_INI_SCAN_DIR="/usr/local/etc/php/conf.d:/home/site/wwwroot/ini"
/usr/local/etc/php/conf.d 是 php.ini 所在的默认目录。 /home/site/ini 是自定义目录,你将在其中添加自定义 .ini 文件。 使用 : 分隔值。
配置页面
重启应用后,通过phpinfo()查看JIT配置是否生效。
【END】
附录1:php index page
<html> <head> <title>PHP Info</title> </head> <body> <?php echo '<p>Hello World</p>'; ?> <hr> <?php phpinfo();?> </body> </html>
参考资料
如何在PHP8中设置开启JIT : http://www.yinzhongnet.com/925.html
自定义 PHP_INI_SYSTEM 指令 : https://docs.azure.cn/zh-cn/app-service/configure-language-php?pivots=platform-linux#customize-php_ini_system-directives
当在复杂的环境中面临问题,格物之道需:浊而静之徐清,安以动之徐生。 云中,恰是如此!
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· DeepSeek 开源周回顾「GitHub 热点速览」
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· AI与.NET技术实操系列(二):开始使用ML.NET
· 单线程的Redis速度为什么快?
2022-08-17 【Azure 事件中心】从Azure Event Hub中消费数据,如何查看当前消费客户端消费数据的Offset和SequenceNumber呢(消息偏移量和序列号)?
2020-08-17 【应用服务 App Service】当使用EntityFrameWorkCore访问Sql Server数据库时,在Azure App Service会出现Cannot create a DbSet for ** because this type is not included in the model for the context的错误
2020-08-17 【Azure微服务 Service Fabric 】在SF节点中开启Performance Monitor及设置抓取进程的方式
2020-08-17 【Azure 批处理 Azure Batch】在Azure Batch中如何通过开始任务自动安装第三方依赖的一些软件(Windows环境)