Linux系统怎么安装Composer CentOS环境配置详细过程【教程】

11次阅读

composercentos上无需传统安装,只需下载composer.phar并设为全局命令;需确保php≥7.2、启用openssl/zlib/json/mbstring扩展、curl可用;下载后校验SHA-384,移至/usr/local/bin/composer并赋权;切勿用sudo执行require,注意CLI与Web的php.ini差异及proc_open/exec是否被禁用。

Linux系统怎么安装Composer CentOS环境配置详细过程【教程】

Composer 在 CentOS 上不需要“安装”,而是下载一个可执行的 composer.phar 文件并设为全局可用——直接运行 php composer.phar 就能用,但多数人希望像命令一样输入 composer 调用。

确认 PHP 环境和依赖是否就绪

Composer 本质是 PHP 脚本,必须确保:
• PHP 版本 ≥ 7.2(推荐 8.0+,尤其 laravel 10+ 需要 PHP 8.1)
• 已启用 opensslzlibjsonmbstring 扩展(缺一不可,否则报 file_get_contents(): php_network_getaddresses: getaddrinfo failed 或 JSON 解析失败)
curl 命令可用(用于下载)

检查方法:
php -v
php -m | grep -E "openssl|zlib|json|mbstring"
which curl

若缺失扩展,例如 CentOS 7 + PHP 7.4,通常用:
yum install php-opcache php-mbstring php-xml php-zip php-curl php-gd

下载并验证 composer.phar

官方推荐使用 curl 下载,并用 SHA-384 校验完整性(跳过校验可能引入损坏或恶意文件):

php -r "copy('https://getcomposer.org/installer', 'composer-setup.php');" php -r "if (hash_file('sha384', 'composer-setup.php') === '55ce33d7678c5a611085589f1f3ddf8b3c52d662cd03d4901860b35878fc132609de12d9ab23573e50672b34f4c8ab91025c') { echo 'Installer verified'; } else { echo 'Installer corrupt'; unlink('composer-setup.php'); } echo PHP_EOL;" php composer-setup.php php -r "unlink('composer-setup.php');"

执行后得到 composer.phar ——这是一个独立 PHAR 包,无需解压,可直接运行:
php composer.phar --version

设为系统级命令:移动 + 添加可执行权限 + 加入 PATH

常见错误是只改权限不加 PATH,或放在非标准路径导致其他用户/Shell 找不到:

  • 移动到系统 bin 目录:sudo mv composer.phar /usr/local/bin/composer
  • 赋予可执行权限:sudo chmod +x /usr/local/bin/composer
  • 确认 PATH 包含 /usr/local/bin(CentOS 默认已包含,可用 echo $PATH 验证)
  • 重开终端或运行 source ~/.bashrc(如果修改过 shell 配置)

验证:composer --version。如果提示 command not found,大概率是 PATH 没生效或权限未加。

后续使用与权限注意事项

Composer 运行时会写缓存(~/.composer/cache)和配置(~/.composer/auth.json),首次运行可能卡住——不是失败,是正在初始化全局配置目录。

关键提醒:
• 不要用 sudo composer require xxx,这会导致生成的 vendor/composer.lock 所属用户为 root,后续开发操作易报权限拒绝
• 如果项目目录属普通用户,所有 composer 命令都应以该用户身份运行
• 若需代理(如企业内网),设置:composer config -g http-proxy http://proxy:port

真正容易被忽略的是:PHP CLI 的配置(php.ini)和 Web Server 使用的 PHP 配置往往不同。务必用 php -i | grep "Loaded Configuration File" 确认 CLI 加载的是哪个 php.ini,再检查其中 disable_functions 是否禁用了 proc_openexec ——这两个函数被禁会导致 Composer 安装包时卡在“Installing dependencies”不动。

text=ZqhQzanResources