Azure Gov Cloud App Service将.html文件按.php处理的方案求助
解决Azure Gov Cloud中PHP 8.2 App Service处理.html文件的问题
针对你遇到的情况,以下是分环境的可行解决方案:
Windows环境(App Service Windows运行时)
Azure Windows App Service基于IIS,需通过web.config配置处理程序映射,将.html文件交由PHP解析:
- 在网站根目录创建或编辑
web.config文件,添加如下配置:
<?xml version="1.0" encoding="UTF-8"?> <configuration> <system.webServer> <handlers> <!-- 保留原有PHP文件的处理规则 --> <add name="PHP82_via_FastCGI" path="*.php" verb="GET,HEAD,POST" modules="FastCgiModule" scriptProcessor="D:\Program Files (x86)\PHP\v8.2\php-cgi.exe" resourceType="Either" requireAccess="Script" /> <!-- 添加.html文件的PHP处理映射 --> <add name="HTML_via_PHP82" path="*.html" verb="GET,HEAD,POST" modules="FastCgiModule" scriptProcessor="D:\Program Files (x86)\PHP\v8.2\php-cgi.exe" resourceType="Either" requireAccess="Script" /> </handlers> </system.webServer> </configuration>
- 保存文件后重启App Service,即可让.html文件和.php文件一样通过PHP 8.2处理。
Linux环境(App Service Linux运行时)
Linux版App Service默认使用nginx,需修改nginx配置将.html文件导向PHP-FPM:
- 在站点根目录创建
startup.sh启动脚本,内容如下:
#!/bin/bash # 修改nginx配置,让.php和.html都走PHP解析 sed -i 's/location ~ \.php$ {/location ~ \.(php|html)$ {/' /etc/nginx/sites-available/default # 启动服务 service nginx restart service php8.2-fpm restart
- 给脚本添加执行权限:
chmod +x startup.sh(可在本地执行后上传,或通过Kudu终端执行) - 在Azure门户进入App Service的「配置」>「常规设置」,将「启动命令」设置为
./startup.sh - 重启App Service生效
验证方法
创建test.html文件,写入<?php echo "PHP解析成功"; phpinfo(); ?>,访问该文件,若能正常显示PHP信息则配置生效。
内容的提问来源于stack exchange,提问作者MyPD
相关产品推荐
相关产品推荐

