如何在Linux版Azure PHP应用服务中全局安装Composer?
Azure Linux PHP 8.0 App Service 全局安装Composer配置方案
Azure Linux App Service 仅持久化存储 /home 目录下的内容,系统级目录修改会在实例重启、平台更新、扩缩容后重置,以下是两种可永久生效的配置方式:
方案1:使用默认纳入PATH的持久化目录(推荐)
Azure PHP 8.0运行时默认已将 /home/site/bin 目录加入全局PATH环境变量,存放在这里的可执行文件可以直接全局调用,无需额外修改配置:
- 连接实例SSH后,先创建目录(若不存在):
mkdir -p /home/site/bin - 运行Composer官方安装命令,添加参数
--install-dir=/home/site/bin --filename=composer,将程序安装到目标目录并重命名简化调用 - 赋予可执行权限:
chmod +x /home/site/bin/composer - 执行
composer --version验证,返回版本号即配置成功,重启实例、部署代码都不会丢失配置。
方案2:自定义PATH指向已有composer.phar存放路径
如果你已经将composer.phar存放在/home路径下,可以通过自定义启动脚本永久修改PATH,不要直接修改系统级profile文件,这类文件重启后会被重置:
- 在
/home目录下新建启动脚本startup.sh,写入以下内容:
#!/bin/bash # 将/home目录加入全局PATH export PATH="/home:$PATH" # 赋予composer执行权限 chmod +x /home/composer.phar # 可选:创建软链接,调用时无需输入完整文件名 ln -sf /home/composer.phar /home/composer # 启动默认Web服务,Apache栈用下面这行 exec /usr/sbin/apache2ctl -D FOREGROUND # 如果是Nginx栈,替换为 exec /usr/sbin/nginx -g 'daemon off;'
- 给脚本添加执行权限:
chmod +x /home/startup.sh - 进入Azure门户App Service配置页,依次打开「配置」-「常规设置」,在「启动命令」栏填入脚本路径
/home/startup.sh,保存后重启实例即可生效。
注意:不要将composer.phar存放在
/usr/local/bin、/usr/bin等系统目录,这类目录属于实例临时存储,所有修改都会在实例生命周期结束后丢失。
内容的提问来源于stack exchange,提问作者Alex Chadwick
相关产品推荐
相关产品推荐

