问题描述

在App Service for Windows的环境中,当前只提供了PHP 7.4 版本的选择情况下,如何实现自定义PHP Runtime的版本呢? 如 PHP Version 8.1.9?

当App Service创建号值后,并且在门户上设置PHP Version版本位 PHP 7.4, 然后进入Kudu站点中,进入 C:\home\sites\wwwroot目录中,创建一个index.php 文件,文件内容为:

<?php

echo "Hello World! This is phpinfo result! ";

phpinfo();

文件保存后,访问App Service的默认URL: https://<yourappservicename>.chinacloudsites.cn , 得出当前PHP Version 为 7.4.28, 如果这里需要使用8.1.*的版本,而App Service有没有提供这个版本? 应该如何自定义PHP呢?

操作实现

是的,App Service for Windows支持自定义PHP Runtime Version。 可以通过以下四个步骤完成自定义操作。

第一步:下载合适的PHP for Windows版本,如本次实验中使用的8.1.9

下载地址:https://windows.php.net/download/

第二步:解压并修改php.ini文件

在解压后的文件夹中,找到 php.ini-development文件,打开并在On Windows下反注释掉 [extension_dir = "ext" ] 部分。然后修改文件名为 php.ini

PS: 如果项目中,有需要其他PHP扩展,可以直接在 php.ini 文件中启用这些扩展。

第三步:打开Kudu站点,在wwwroot目录下创建一个php目录,并把第二步中问价夹中的全部文件上传到wwwroot中的php目录中

1)进入App Service的kudu 站点(https://<yourappservicename>.scm.chinacloudsites.cn),选择Debug Console --> C:\home\site\wwwroot> 目录

2)在目录中创建一个php文件夹

3)把第二步中的所有文件打包为zip文件,然后通过拖拽方式,放入kudu站点上php文件夹的右上部分,kudu会自动解压zip文件到当前目录

PS: 这一步也可以通过其他部署方式实现,如FTP, Git等,只要能把本地php runtime文件全部上传到wwwroot中即可

操作步骤动画如下:

第四步:修改App Service的  Handler mappings, 添加 *.php 扩展,并且指向第三步中目录中的 php-cgi.exe

在Path mappings选项卡中,添加 *.php 新扩展, Script Processor为: C:\home\site\wwwroot\php\php-cgi.exe

第五步:保存修改后,重新访问App Service默认URL,查看PHP Version的改变为8.1.9

自定义操作成功!

参考资料

PHP For Windows: https://windows.php.net/download/

[END]

【Azure 应用服务】在 App Service for Windows 中自定义 PHP 版本的方法的更多相关文章

  1. 【Azure 应用服务】App Service For Windows 环境中部署Python站点后,如何继续访问静态资源文件呢(Serving Static Files)?

    问题描述 当创建一个App Service 后,运行时环境和版本选择Windows 和 Python 3.6. 登录Kudu 站点查看,默认的文件有 web.config, hostingstart- ...

  2. 【Azure 应用服务】App Service for Linux 中实现 WebSocket 功能 (Python SocketIO)

    问题描述 使用 python websockets 模块作为Socket的服务端,发布到App Service for Linux环境后,发现Docker Container无法启动.错误消息为: 2 ...

  3. 【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启动项目,访问效果如下: 但是,当把项目 ...

  4. 【Azure 应用服务】App Service中,为Java应用配置自定义错误页面,禁用DELETE, PUT方法

    问题定义 使用Azure应用服务(App Service),部署Java应用,使用Tomcat容器,如何自定义错误页面呢?同时禁用DELETE, PUT方法 解决办法 如何自定义错误页面呢?需要在 J ...

  5. 【Azure 应用服务】App Service For Linux 如何在 Web 应用实例上住抓取网络日志

    问题描述 在App Service For Windows的环境中,我们可以通过ArmClient 工具发送POST请求在Web应用的实例中抓取网络日志,但是在App Service For Linu ...

  6. 【Azure 应用服务】App Service 在使用GIt本地部署,上传代码的路径为/home/site/repository,而不是站点的根目录/home/site/wwwroot。 这个是因为什么?

    问题描述 App Service 在使用GIt本地部署,上传代码的路径为/home/site/repository,而不是站点的根目录/home/site/wwwroot. 这个是因为什么? 并且通过 ...

  7. 【Azure 应用服务】App Service/Azure Function的出站连接过多而引起了SNAT端口耗尽,导致一些新的请求出现超时错误(Timeout)

    问题描述 当需要在应用中有大量的出站连接时候,就会涉及到SNAT(源地址网络转换)耗尽的问题.而通过Azure App Service/Function的默认监控指标图表中,却没有可以直接查看到SNA ...

  8. 【Azure 应用服务】App Service For Linux 部署Java Spring Boot应用后,查看日志文件时的疑惑

    编写Java Spring Boot应用,通过配置logging.path路径把日志输出在指定的文件夹中. 第一步:通过VS Code创建一个空的Spring Boot项目 第二步:在applicat ...

  9. 【Azure 应用服务】App Service频繁出现 Microsoft.WindowsAzure.Diagnostics.DiagnosticMonitorTraceListener 异常分析

    问题描述 在使用App Service的过程中,发现应用频繁出现503错误,通过Kudu站点获取到Logfiles. 在 Eventlog.xml 文件中,发现大量的 Microsoft.Window ...

随机推荐

  1. ERP采购收货在标准成本和移动平均价下的差别

    欢迎关注微信公众号:iERPer (ERP咨询顾问之家) ERP系统在处理主要的采购流程有: 下采购合同->下采购订单->收货->发票校验->付款(财务) 其中 收货和发票校验 ...

  2. Bika LIMS 开源LIMS集——实验室检验流程概述及主页、面板

    主页 主页左侧为功能入口菜单.右侧含待办提醒,中间为工作区. 工作区功能将主要工作页面置于首页,便于用户操作. Dashboard 面板 系统面板 包括待排定的实验任务.实验中的任务数.复核/审核中的 ...

  3. .NET6接入Skywalking链路追踪完整流程

    一.Skywalking介绍 Skywalking是一款分布式链路追踪组件,什么是链路追踪? 随着微服务架构的流行,服务按照不同的维度进行拆分,一次请求往往需要涉及到多个服务.互联网应用构建在不同的软 ...

  4. js 表面学习 - 认识事件

    事件 描述 onchange HTML 元素已被改变 onclick 用户点击了 HTML 元素 onmouseover 用户把鼠标移动到 HTML 元素上 onmouseout 用户把鼠标移开 HT ...

  5. tomcat JDK环境变量配置及tomcat多项目的配置

    1.解压JDK tar xzf jdk-8u171-linux-i586.tar.gz -C /usr/local -->mv /usr/local/jdk1.8.0_171 /usr/loca ...

  6. Java开发问题:Column 'AAA' in where clause is ambiguous解决办法

    当在java开发中遇到了Column 'AAA' in where clause is ambiguous问题时, 你需要去看看:多表查询的时候不同的表是否出现了相同名称相同的列, 如果存在,你需要在 ...

  7. NC23036 华华听月月唱歌

    NC23036 华华听月月唱歌 题目 题目描述 月月唱歌超级好听的说!华华听说月月在某个网站发布了自己唱的歌曲,于是把完整的歌曲下载到了U盘里.然而华华不小心把U盘摔了一下,里面的文件摔碎了.月月的歌 ...

  8. APISpace 全球快递物流查询API接口 免费好用

    前言   随着我国电子商务的迅猛发展,物流行业也开始突飞猛进,人们的日常生活越来越离不开快递服务,查快递.寄快递的需求越来越大,随之而来,常用快递接口的需求也越来越大. 全国快递查询接口,支持各大快递 ...

  9. C++学习记录1

    代码1:转义字符 点击查看代码 #include<iostream> using namespace std; void test01()//换行 { cout << &quo ...

  10. day01--MarkDown语法格式

    MarkDown语法格式 标题 一级标题 一级标题: 井号+空格+标题名字 二级标题 二级标题: 双井号+空格+标题名字 三级标题 三级标题: 三井号+空格+标题名字 ......... 字体 斜体( ...