php依赖管理composer安装
1.composer安装Linux / macOS
1.前置条件
- PHP ≥ 7.2(建议 ≥ 7.4 / 8.x)
- 已安装
php-cli - 开启
openssl
验证:
1 | php -v # --version |
2.官方安装(最标准)
1 | php -r "copy('https://getcomposer.org/installer', 'composer-setup.php');" |
生成文件:
1 | composer.phar |
3.全局安装
1 | mv composer.phar /usr/local/bin/composer |
验证:
1 | composer -V |
2.一行命令安装
1.curl 方式
1 | curl -sS https://getcomposer.org/installer | php |
2.wget 方式
1 | wget -qO- https://getcomposer.org/installer | php |
CI/CD 中非常常见,但建议锁版本
3.指定版本安装(生产 / 回滚友好)
1.安装指定版本
1 | php composer-setup.php --version=2.7.6 |
2.为什么要指定版本
- Composer 自身也会升级
- 不同版本对依赖解析略有差异
- 构建工具也要可复现
4.国内 / 内网环境优化
1.切换国内镜像(强烈推荐)
1 | composer config -g repo.packagist composer https://mirrors.aliyun.com/composer/ |
验证:
1 | composer config -g --list |
5.Docker 场景(强烈推荐)
1.官方 Composer 镜像
1 | docker run --rm -v $(pwd):/app composer install |
2.多阶段构建(最佳实践)
1 | FROM composer:2 AS builder |
要点:
- 构建期安装依赖
- 运行期只带结果
- 镜像更小、更安全
6.Windows 安装
1.官方安装器
- 下载:
Composer-Setup.exe - 自动配置 PATH
- 自动检测 PHP
2.验证
1 | composer -V |
7. 常见坑位
1.PHP CLI 版本不一致
php -vwhich php- web PHP ≠ CLI PHP
2.openssl / zip 缺失
1 | php -m | grep -E 'openssl|zip' |
3.权限问题(容器 / 服务器)
- vendor 目录属主
- CI 用户权限
8. 安装后初始化
1.初始化项目
1 | composer init |
2.安装依赖
1 | composer install |
3.自动加载
1 | require __DIR__ . '/vendor/autoload.php'; |
- 构建确定性的起点
- PHP 工程化的第一块基石
- DevOps / CI/CD 链路的入口