You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

本地Git部署Azure PHP应用执行git push azure main时报composer错误

故障根因

你遇到的Trying to access array offset on value of type nullComposer报错,是Azure App Service Windows环境默认的PHP runtime版本、Composer配置与你本地开发环境不匹配导致的,本地环境版本符合项目要求,但云端部署时调用的低版本PHP不兼容Composer依赖的语法规则。

解决步骤

按优先级从高到低尝试以下方案:

方案一:对齐云端PHP版本与本地环境

  • 登录Azure门户,进入对应App Service实例的「配置」-「常规设置」页,将PHP版本修改为和你本地开发完全一致的版本,保存配置后等待实例重启。
  • 进入「配置」-「应用程序设置」页,添加以下2条配置项:
    • 键:COMPOSER_MEMORY_LIMIT,值:-1
    • 键:COMPOSER_ALLOW_SUPERUSER,值:1
  • 保存配置后,进入「部署中心」,找到最近一次失败的部署记录,点击「重新部署」验证是否恢复。

方案二:自定义部署规则跳过自动Composer安装(生产环境推荐)

如果方案一无效,避免部署时依赖安装的不可控风险,直接提交本地安装完成的依赖包到部署仓库:

  • 在项目根目录添加.deployment文件,写入以下内容:
[config]
SCM_DO_BUILD_DURING_DEPLOYMENT = false
  • 本地执行composer install --no-dev优化生产环境依赖包
  • 将.deployment文件、vendor目录一并提交到Git仓库,重新执行git push azure main即可

方案三:适配Composer配置

如果不想提交vendor目录,修改项目根目录的composer.json文件:

  • 检查config节点下的platform配置,将PHP版本号修改为你在Azure上设置的PHP版本一致
  • 删除composer.lock文件后本地重新执行composer install生成新的lock文件,提交后重新触发部署即可

内容的提问来源于stack exchange,提问作者Gradiyanto Sanjaya

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.26 22:36:03