Azure Linux App Service中PHP 8.0.3自定义配置不生效问题求助
正确配置Azure Linux App Service PHP运行参数的操作步骤
操作失效原因
.htaccess中php_value指令仅适用于Apachemod_php运行模式,Azure Linux App Service默认使用PHP-FPM模式运行PHP,不会读取.htaccess中的PHP配置项,所以第一种修改方法无效。- 自定义ini文件导致扩展失效,是因为配置时没有保留默认PHP配置的扫描路径,仅加载了自定义配置,覆盖了系统默认的扩展(如mysqli)启用配置。
正确操作流程
步骤1:创建自定义配置文件
在站点代码根目录(默认为/home/site/wwwroot)下新建ini目录,在目录内创建custom-settings.ini文件,仅写入需要调整的参数即可,不需要复刻全部默认配置:
memory_limit = 2048M upload_max_filesize = 256M post_max_size = 256M max_execution_time = 3600 max_input_time = 300 output_buffering = Off
步骤2:配置PHP扫描路径
- 进入Azure门户,打开对应Linux App Service实例的管理页
- 左侧菜单选择「配置」->「应用程序设置」
- 新增一条应用程序设置:
- 键:
PHP_INI_SCAN_DIR - 值:
/usr/local/etc/php/conf.d:/home/site/wwwroot/ini
默认扫描路径/usr/local/etc/php/conf.d必须保留,该路径存放了系统默认的扩展启用配置,加上自定义目录后,PHP会先加载默认配置,再用自定义配置覆盖对应项,不会破坏原有扩展配置
- 键:
- 保存配置,系统会自动重启App Service实例
步骤3:验证配置生效
重启完成后,创建临时phpinfo.php文件写入内容<?php phpinfo(); ?>,访问站点查看对应参数是否更新,确认生效后删除该临时文件避免安全风险。
替代方案(仅适用于WordPress站点)
如果不想修改App Service系统配置,可以直接修改WordPress根目录的wp-config.php文件,在/* That's all, stop editing! Happy publishing. */行之前添加以下代码,优先级高于ini配置:
@ini_set('memory_limit', '2048M'); @ini_set('upload_max_filesize', '256M'); @ini_set('post_max_size', '256M'); @ini_set('max_execution_time', '3600'); @ini_set('max_input_time', '300');
内容的提问来源于stack exchange,提问作者eat-sleep-code
相关产品推荐
相关产品推荐

