首页 > 编程语言 >【Azure App Service】为部署在App Service上的PHP应用开启JIT编译器

【Azure App Service】为部署在App Service上的PHP应用开启JIT编译器

时间:2023-08-17 20:31:40浏览次数:32  
标签:php Service App 编译器 JIT ini PHP

问题描述

在App Service for linux上创建一个PHP应用,通过 phpinfo() 查看PHP的扩展设置,发现JIT没有被开启, jit_buffer_size 大小为0.

【Azure App Service】为部署在App Service上的PHP应用开启JIT编译器_App

那么,在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。

【Azure App Service】为部署在App Service上的PHP应用开启JIT编译器_App_02

当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 文件。 使用 : 分隔值。

配置页面

【Azure App Service】为部署在App Service上的PHP应用开启JIT编译器_php_03

重启应用后,通过phpinfo()查看JIT配置是否生效。

【Azure App Service】为部署在App Service上的PHP应用开启JIT编译器_php_04

 

【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

  


 

当在复杂的环境中面临问题,格物之道需:浊而静之徐清,安以动之徐生。 云中,恰是如此!

标签:php,Service,App,编译器,JIT,ini,PHP
From: https://blog.51cto.com/u_13773780/7127325

相关文章

  • Kubernetes Service中的 external-traffic-policy 是什么?
    【摘要】external-traffic-policy,顾名思义“外部流量策略”,那这个配置有什么作用呢?以及external是指什么东西的外部呢,集群、节点、Pod?今天我们就来学习一下这个概念吧。1、什么是external-traffic-policy在k8s的Service对象(申明一条访问通道)中,有一个“externalTrafficPolicy”......
  • Asp.net区分请求来自PC端还是APP端
    区别请求来自于APP还是PC端,主要是通过客户端传递的User-Agent来做判断的。User-Agent来自于请求头Header,如下图两种方式:来自于PC请求来自于APP请求代码获取User-Agent的值......
  • k8s Service(一) ClusterIP、NodePort、LoadBalancer、externalIPs 演示
    目录:Service简介kube-proxy3种不同的数据调度模式Service资源的定义格式示例1:ClusterIP演示示例2:NodePort演示示例3:LoadBalancer演示示例4:externalIPs演示Service简介Service:可以理解为pod的负债均衡器,标准资源类型,ServiceController为动态的一组Pod提......
  • 通过 TCPView 还发现个流氓 KPKIService.exe 删掉
    叫统一安全中间件,就是个第三方做的key的安全检查,谁知道是哪年装的资料https://baijiahao.baidu.com/s?id=1717384219148345375&wfr=spider&for=pc......
  • Native App和web App有什么区别
      NativeApp和webApp有什么区别,请看下图:   NativeApp的优势:1.提供最佳的用户体验,最优质的用户界面,最华丽的交互2.针对不同平台提供不同体验3.可节省带宽成本4.可访问本地资源5.盈利模式明朗NativeApp的劣势:1.移植到不同平台上比较麻烦2.维持多个版本......
  • Wiindows下更改CMake编译器为MinGW
    个人环境MinGW:使用QT6install的mingw1120_64.CMake:使用QT6install的CMake3.24.2.第一次编译时,默认生成VS的工程文件,为了修改编译器为MinGW,在编译时,键入:cmake-G"MinGWMakefiles"-DCMAKE_CXX_FLAGES=-std=c++11同时也指定了编译器支持的编译标准为c++11注......
  • 跨平台开发:让你的直播带货App覆盖更多用户
    随着移动互联网的迅猛发展,直播带货成为了商业模式的一大亮点。无论是品牌还是个人商家,都希望通过直播带货来吸引更多用户,增加销售额。然而,要实现这一目标,一个重要的考虑因素就是如何让你的直播带货App覆盖更多的用户。跨平台开发技术就成为了一个解决方案,它可以帮助你的App在不同的......
  • 用Jetpack Compose完美复刻Flappy Bird
    FlappyBird是13年红极一时的小游戏,其简单有趣的玩法和变态的难度形成了强烈反差,引发全球玩家竞相把玩,欲罢不能!遂选择复刻这个小游戏,在实现的过程中向大家演示Compose工具包的UI组合、数据驱动等重要思想。Ⅰ.拆解游戏不记得这个游戏或完全没玩过的朋友,可以点击下面的链接,体验一下Fl......
  • Android实战:APP换肤功能,并自动适配手机深色模式
    Android换肤功能已不是什么新鲜事了,市面上有很多第三方的换肤库和实现方案。之所以选择腾讯的QMUI库来演示APP的换肤功能,主要原因:1、换肤功能的实现过程较简单、容易理解;2、能轻松适配Android10提供的DarkMode(深色模式);3、还能白嫖QMUI的各种组件、效果(这才是重要的,......
  • Qt编译器——MinGW和MSVC的区别
    #1、MSVC:即MicrosoftVisualC++Compiler,即微软自己的编译器#2、MinGW:我们都知道GNU在Linux下面鼎鼎大名的gcc/g++,MinGW则是指MinimalistGNUforWindows的缩写Qt用MSVC和MinGW哪个编译器编译程序比较好?我的建议是使用MSVC。理由一:qtcreator的debuger有功能缺陷,经......