Debian上Composer如何与其他工具集成
导读:Debian上Composer与其他工具的集成实践 一 开发工具链集成 将PHPStan与Psalm作为开发依赖安装,生成配置后通过Composer 脚本统一入口执行,便于本地与CI统一调用。示例: 安装:composer requir...
Debian上Composer与其他工具的集成实践
一 开发工具链集成
- 将PHPStan与Psalm作为开发依赖安装,生成配置后通过Composer 脚本统一入口执行,便于本地与CI统一调用。示例:
- 安装:composer require --dev phpstan/phpstan;composer require --dev vimeo/psalm
- 初始化:vendor/bin/phpstan init-config;vendor/bin/psalm –init
- 脚本:在 composer.json 中添加 { “scripts”: { “analyse”: [“phpstan analyse src/”, “psalm”] } }
- 使用:运行 composer analyse 一键执行两项检查。
二 持续集成与部署集成
- 在GitLab CI/CD中,使用 Composer 安装依赖并执行项目命令,保持与本地一致的开发与测试流程:
- 示例 stages:
stages:
- test
- deploy
variables:
DEPLOY_ENV: production
test:
stage: test
script:
- composer install --no-interaction --prefer-dist
- php artisan migrate --force
- php artisan test deploy: stage: deploy script:
- ssh -o StrictHostKeyChecking=no $DEPLOY_USER@$DEPLOY_SERVER “bash -s” < deploy_script.sh only:
- master
- 要点:使用**–no-interaction --prefer-dist**加速安装;在部署脚本中同样执行 composer install 与应用命令,确保产物一致性。
- 示例 stages:
stages:
三 多PHP版本与平台配置集成
- 多版本管理:在 Debian 上用 update-alternatives 切换 CLI 的 PHP 版本,使 Composer 解析依赖时使用正确版本。
- 配置示例: sudo update-alternatives --install /usr/bin/php php /usr/bin/php8.1 50 sudo update-alternatives --install /usr/bin/php php /usr/bin/php8.2 60 sudo update-alternatives --set php /usr/bin/php8.2 php -v
- 平台配置:在不改动实际运行环境的前提下,用 Composer 统一“平台”版本,解决跨机/CI环境差异。
- 示例:composer config platform.php 8.1.0
- 临时绕过(不建议长期使用):composer install --ignore-platform-req=php(仅跳过 PHP 版本检查)。
四 API文档与服务器运行集成
- API 文档:使用 Composer 安装 Swagger UI/Editor 的包,将生成的静态文件部署到 Nginx/Apache 目录即可访问。
- 安装:composer require swagger-api/swagger-ui;composer require swagger-api/swagger-editor
- 部署:将对应包的 dist 目录内容复制到例如 /var/www/html,配置 Web 服务器允许访问并重启服务。
- Web 服务器运行:以 Nginx 为例,root 指向项目 public 目录,配置 try_files $uri $uri/ /index.php?$query_string; 并通过 PHP-FPM 处理 .php 请求;确保目录权限与 PHP 扩展(如 pdo、mbstring、xml、curl、zip、gd、bcmath 等)满足框架需求。
声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!
若转载请注明出处: Debian上Composer如何与其他工具集成
本文地址: https://pptw.com/jishu/760443.html
