如何在Azure Linux应用服务(PHP8/8.1+Nginx)修改security.limit_extensions
在Azure Linux应用服务(PHP 8/8.1 + Nginx)中修改security.limit_extensions的方法
Azure Linux应用服务基于容器化部署,直接修改镜像内的PHP-FPM配置文件会在重启后重置,必须通过自定义启动脚本在每次启动时自动修改配置,具体步骤如下:
步骤1:创建自定义启动脚本
在应用的/home/site/scripts/目录下创建startup.sh脚本(若目录不存在,先通过SSH连接执行mkdir -p /home/site/scripts创建),脚本内容如下:#!/bin/bash # 修改PHP-FPM的security.limit_extensions,添加.html扩展名(按需调整允许的扩展名列表) sed -i 's/^security.limit_extensions = .*/security.limit_extensions = .php .php3 .php4 .php5 .php7 .html/' /usr/local/etc/php-fpm.d/www.conf # 执行Azure默认的启动流程,确保服务正常启动 exec /opt/startup/startup.sh给脚本添加执行权限:
chmod +x /home/site/scripts/startup.sh步骤2:配置应用服务的启动命令
登录Azure门户,进入目标应用服务的「配置」→「常规设置」,在「启动命令」输入框中填写:/home/site/scripts/startup.sh,保存配置后重启应用服务。验证配置是否生效
重启后通过SSH连接到应用服务,执行cat /usr/local/etc/php-fpm.d/www.conf | grep security.limit_extensions,查看输出是否包含你添加的.html扩展名;同时访问login.html页面,确认不再出现权限拒绝错误。
注意:security.limit_extensions默认仅允许PHP相关扩展名,若需要让HTML文件被PHP解析,必须将
.html添加到该列表中;另外确保Nginx配置已正确将HTML请求转发到PHP-FPM(你提到配置块已正确设置,可忽略此验证)。
内容的提问来源于stack exchange,提问作者Matt Doble
相关产品推荐
相关产品推荐

