【Azure 应用服务】在 App Service for Windows 中自定义 PHP 版本的方法

简介: 【Azure 应用服务】在 App Service for Windows 中自定义 PHP 版本的方法

问题描述

在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]

相关文章
|
8月前
|
Java 应用服务中间件 API
【App Service】部署War包到Azure云上遇404错误
Java应用部署至Azure App Service for Windows后报404,本地运行正常。经排查,日志提示类文件版本不兼容:应用由Java 17(class file version 61.0)编译,但环境仅支持到Java 11(55.0)。错误根源为Java版本不匹配。调整App Service的Java版本至17后问题解决,成功访问接口。
820 3
|
8月前
|
存储 Linux 网络安全
【Azure App Service】Root CA on App Service
Azure App Service for Windows应用连接外部SSL服务时,需确保其证书由受信任的根CA颁发。多租户环境下无法修改根证书,但ASE(单租户)可加载自定义CA证书。若遇证书信任问题,可更换为公共CA证书或将应用部署于ASE并导入私有CA证书。通过Kudu的PowerShell(Windows)或SSH(Linux)可查看当前受信任的根证书列表。
171 13
|
9月前
|
API 网络架构 容器
【Azure Container App】查看当前 Container App Environment 中的 CPU 使用情况的API
在扩展 Azure Container Apps 副本时,因 Container App Environment 的 CPU 核心数已达上限(500 cores),导致扩展失败。本文介绍如何使用 `az rest` 命令调用 Azure China Cloud 管理 API,查询当前环境的 CPU 使用情况,并提供具体操作步骤及示例。
318 17
|
9月前
|
数据安全/隐私保护
【Azure Function App】PowerShell Function 执行 Get-AzAccessToken 的返回值类型问题:System.String 与 System.Security.SecureString
将PowerShell Function部署到Azure Function App后,Get-AzAccessToken返回值类型在不同环境中有差异。正常为SecureString类型,但部分情况下为System.String类型,导致后续处理出错。解决方法是在profile.ps1中设置环境变量$env:AZUREPS_OUTPUT_PLAINTEXT_AZACCESSTOKEN=false,以禁用明文输出。
229 1
|
Windows 网络协议 数据安全/隐私保护
|
网络协议 Windows 数据安全/隐私保护
|
8月前
|
安全 数据安全/隐私保护 虚拟化
Windows Server 2022 中文版、英文版下载 (2025 年 10 月更新)
Windows Server 2022 中文版、英文版下载 (2025 年 10 月更新)
2002 2
Windows Server 2022 中文版、英文版下载 (2025 年 10 月更新)
|
8月前
|
安全 Unix 物联网
Windows 7 & Windows Server 2008 R2 简体中文版下载 (2025 年 10 月更新)
Windows 7 & Windows Server 2008 R2 简体中文版下载 (2025 年 10 月更新)
865 0
Windows 7 & Windows Server 2008 R2 简体中文版下载 (2025 年 10 月更新)