温馨提示×

centos composer离线安装

小樊
40
2025-12-17 11:15:54
栏目: 智能运维

CentOS 离线安装 Composer 实操指南

一 准备与前提

  • Composer 不会随 CentOS 自带,需自行安装;同时 PHP 也不会自带,需先准备可用的 PHP CLI 环境。离线安装前,建议在可联网机器上完成下载,再拷贝到目标服务器。离线环境需确保已安装 PHP 及常用扩展(至少包含 php-cli、php-json、php-zip,以及网络请求所需的 php-curl)。

二 离线安装步骤

  • 在可联网机器下载所需文件(示例为 Composer 2.x 最新稳定版;如需 1.x,将版本号替换为 1.10.27 等具体版本):
    • 下载安装脚本并校验签名(SHA-384):
      • wget https://getcomposer.org/installer -O composer-setup.php
      • HASH=$(wget -qO- https://composer.github.io/installer.sig)
      • php -r “if(hash_file(‘SHA384’,‘composer-setup.php’)===‘$HASH’){echo’Installer verified’;}else{unlink(‘composer-setup.php’);echo’Installer corrupt’;}”
    • 执行安装脚本生成 composer.phar
      • php composer-setup.php --install-dir=/tmp --filename=composer.phar
    • 将以下文件拷入离线机的同一目录(如 /opt/offline/composer/):
      • composer.phar
      • (可选)composer-setup.php(留作校验或再次安装)
  • 在离线机安装并验证:
    • 移动到可执行路径并赋权:
      • sudo mv /opt/offline/composer/composer.phar /usr/local/bin/composer
      • sudo chmod +x /usr/local/bin/composer
    • 验证版本:
      • composer -V
  • 说明:上述安装流程与官方安装脚本一致,仅将“在线下载脚本/拉取 phar”改为“离线拷贝文件后本地执行”,适用于 CentOS 7/8 等常见版本。

三 离线使用与私有镜像

  • 离线安装依赖包的思路:
    • 在一台可联网的“中转机”使用 Composer 将项目依赖下载到本地缓存(vendor)或导出为归档,再拷贝到离线机:
      • 仅下载不安装:composer install --dry-run
      • 导出依赖包:composer archive -f zip -o deps.zip --working-dir=/path/to/project
      • 或打包整个项目目录(含 vendor):tar czf project.tar.gz -C /path/to/project .
    • 在离线机解压/放置依赖后,使用本地 autoload 运行项目:
      • require DIR.‘/vendor/autoload.php’;
  • 内网镜像与加速(可选,在有内网镜像源时):
    • 全局配置镜像(便于所有项目使用):
      • composer config -g repo.packagist composer https://packagist.phpcomposer.com
    • 仅当前项目配置(去掉 -g):
      • composer config repo.packagist composer https://packagist.phpcomposer.com
    • 取消镜像:
      • composer config -g --unset repos.packagist
    • 说明:镜像仅影响“下载依赖”阶段;若完全离线,请配合“中转机下载 + 归档拷贝”的方式使用。

四 常见问题与排查

  • 执行 php composer-setup.php 时报错 “Failed to decode zlib stream”:给脚本增加可执行/写权限(chmod a+x composer-setup.php),或确认 PHP 具备 zlib 支持。
  • 运行 composer 报 “未预期的符号 `newline’ 附近有语法错误”:多半是下载的 composer.phar 损坏或不完整,重新下载/拷贝。
  • 使用 wget 下载 phar 出现证书错误:不建议长期关闭校验;优先更新 CA 证书,或临时使用 --no-check-certificate(仅测试环境)。
  • 提示 php 命令不存在或缺少模块:离线机需预装 PHP CLIphp-cli、php-json、php-zip、php-curl 等依赖,再安装 Composer。

0