问题描述

在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

  

【Azure App Service】为部署在App Service上的PHP应用开启JIT编译器的更多相关文章

  1. Sql Server Report Service 的部署问题(Reporting Service 2014為什麼不需要IIS就可以運行)

    http://www.cnblogs.com/syfblog/p/4651621.html Sql Server Report Service 的部署问题 近期在研究SSRS部署问题,因为以前也用到过 ...

  2. 【Azure 应用服务】Azure Mobile App (NodeJS) 的服务端部署在App Service for Windows中出现404 Not Found -- The resource you are looking for has been removed, had its name changed, or is temporarily unavailable.

    问题描述 使用NodeJS的后端应用,开发一个Mobile App的服务端,手机端通过REST API来访问获取后端数据.在本地编译好后,通过npm start启动项目,访问效果如下: 但是,当把项目 ...

  3. 【Azure 应用服务】NodeJS Express + MSAL 应用实现AAD集成登录并部署在App Service Linux环境中的实现步骤

    问题描述 实现部署NodeJS Express应用在App Service Linux环境中,并且使用Microsoft Authentication  Library(MSAL)来实现登录Azure ...

  4. 【Azure 应用服务】PHP应用部署在App Service for Linux环境中,上传文件大于1MB时,遇见了413 Request Entity Too Large 错误的解决方法

    问题描述 在PHP项目部署在App Service后,上传文件如果大于1MB就会遇见 413 Request Entity Too Large 的问题. 问题解决 目前这个问题,首先需要分析应用所在的 ...

  5. 在Azure Cloud Service中部署Java Web App(1)

    Microsoft Azure是一个开放的,灵活的云平台,除了对自家的.Net平台有良好的支持外,对于各种开源的软件,语言,工具,框架都有着良好的支持,比如Java,Php,Python等等,你可以使 ...

  6. 【应用服务 App Service】App Service 中部署Java应用中文乱码现象

    问题情形 有时候部署在 Azure  App Service的 Java应用会出现乱码 详细日志 无 问题原因 因为 App Service默认的编码为gbk,所以在显示页面或传递中文字符时就会出现乱 ...

  7. 【Microsoft Azure学习之旅】消息服务Service Bus的学习笔记及Demo示例

    今年项目组做的是Cloud产品,有幸接触到了云计算的知识,也了解并使用了当今流行的云计算平台Amazon AWS与Microsoft Azure.我们的产品最初只部署在AWS平台上,现在产品决定同时支 ...

  8. SharePoint Server 2013开发之旅(三):为SharePoint Server配置App开发、部署、管理环境

    上一篇我讲解了如何利用微软提供的Office 365开发人员网站,进行在线的SharePoint App开发,这当然是不错的一个选择,因为你可以快速地进行开发和调试.(仅仅针对App开发而言).但是, ...

  9. Dynamics 365 CRM 在 Connected Field Service 中部署 IoT Central (一)- 配置 IoT Central和IoT alert

    今天这个系列给大家带来怎样在connected field service中部署IoT Central 并且做连接. 首先, 这里提供微软官方的tutorial的链接https://docs.micr ...

  10. 使用 WinAppDeployCmd 部署Win10 App 到移动设备

    WinAppDeployCmd是目前微软提供的Win10 App 部署工具,它和以前的Windows Phone Application Deployment 部署工具有所不同的是,WinAppDep ...

随机推荐

  1. PyQt5入门之QLineEdit

    QLineEdit:输入单行文本 下面描述了默认的键绑定.行编辑还提供了一个上下文菜单(通常通过单击鼠标右键进行调用),它提供了其中一些编辑选项. 按键 动作 Left Arrow 将光标向左移动一个 ...

  2. day08-SpringCloud Gateway-服务网关

    SpringCloud Gateway-服务网关 1.Gateway介绍 1.1引出问题 没有使用网关服务时: 使用网关服务后: 1.2Gateway网络拓扑图 1.3Gateway是什么 官网:Sp ...

  3. 开源超全Lotus Domino Xpages 开发资料,Domino最新资料,lotus资料,xpages资料,Domino开源信息下载

    十年Domino资料,不断累积,精彩展示,从维护到开发,从CS到BS再变xpage,都是一步步过来,让Domino后台数据在在多个平台绽放 把这些开发技术文档分享出来,希望通过这个资料,为大家学习开发 ...

  4. PicoRV32-on-PYNQ-Z2: An FPGA-based SoC System——RISC-V On PYNQ项目复现

    本文参考: 1️⃣ 原始工程 2️⃣ 原始工程复现教程 3️⃣ RISCV工具链安装教程 本文工程: https://bhpan.buaa.edu.cn:443/link/4B08916BF2CDB4 ...

  5. JavaScript判断两个数组相等的四类方法

    在JavaScript中,数组本质上是一种特殊的对象,它的类型值会返回 object. 如果我们需要比较两个数组是否相等,不能像比较基本类型(String.Number.Boolean等)一样,使用 ...

  6. Linux从文件中逐行读取文件名并将匹配的文件复制到指定目录

    问题应该算挺常见的但是一句话还挺难说清楚,所以百度特别难搜. 场景就是,有一堆以员工名称命名的文件(名称可能还有字母数字等前后缀),现在给定一个员工清单,需要从这些文件中筛选出员工清单上列出的员工的文 ...

  7. React后台管理系统 02样式初始化,引入reset-css

    上一篇中,我们已经对项目的整体结构进行了搭建,现在需要对不需要的东西进行删除,最后留下这些东西. 现在需要对全部的样式进行清除,使用命令导入依赖:npm i reset-css 然后在main.tsx ...

  8. AuthenticationException异常无法被全局异常捕获的解决办法

    我们可以先看一下为什么不能被捕获? 很明显JwtFilter的祖宗是Fliter,而我们自己定义的全局异常处理器@RestControllerAdvice 这个注解是 @ControllerAdvic ...

  9. 教程 | Datavines 自定义数据质量检查规则(Metric)

    Metric 是 Datavines 中一个核心概念,一个 Metric 表示一个数据质量检查规则,比如空值检查和表行数检查都是一个规则.Metric 采用插件化设计,用户可以根据自己的需求来实现一个 ...

  10. Self-Instruct 论文解读:利用大模型自己给自己生成指令数据,指令数据自动生成

    总览 大规模"指令调整"的语言模型,即指令微调的LLM,已经表现出非凡的零样本能力,尤其是推广新任务上. 然而,这些模型严重依赖于人类编写的指令数据,而这些数据通常在数量.多样性和 ...