Composer安装失败主因是PHP环境不达标或配置干扰:需PHP≥7.2.5(推荐≥8.0)并启用curl、json、openssl、phar、zlib扩展;证书错误可配置curl.cainfo;全局命令需手动加入PATH;务必确认CLI与Web使用同一php.ini。

Composer 安装失败,绝大多数情况不是网络或权限问题,而是 php 环境本身不满足最低要求,或被本地配置干扰。直接执行安装脚本前,请先验证 PHP 版本和关键扩展是否就位。
检查 PHP 版本与必需扩展是否启用
Composer 2.5+ 要求 PHP ≥ 7.2.5,且必须启用 curl、json、openssl、phar 和 zlib。常见错误如 PHP Fatal error: Uncaught Error: Call to undefined function curl_init() 就是 curl 扩展未开启。
- 运行
php -v确认版本 ≥ 7.2.5(推荐 ≥ 8.0) - 运行
php -m | grep -E "curl|json|openssl|phar|zlib"检查扩展列表,缺哪个就去php.ini中取消对应;extension=xxx的注释 - Windows 用户注意:若用 XAMPP/MAMP,需确认修改的是 CLI 模式下的
php.ini(通常在php\phpX.X.X\目录下),而非 Apache 使用的那个
使用官方 install.php 脚本时提示 “cURL error 60” 或超时
这是证书验证失败或国内网络直连 GitHub 失败的典型表现,不是 Composer 本身的问题,而是 curl 无法校验 HTTPS 证书或连接被阻断。
- 临时绕过证书验证(仅调试用):
php -d cafile=/path/to/cacert.pem install.php,但更稳妥的做法是更新 CA 证书包 - 推荐方案:下载最新
cacert.pem(从 curl.se),然后在php.ini中设置curl.cainfo = "/full/path/to/cacert.pem"并重启 CLI - 如果仍卡住,可改用国内镜像源安装脚本:
php -r "copy('https://install.phpcomposer.com/installer', 'installer.php');",再运行php installer.php(该地址由 phpcomposer.com 提供,非官方但长期可用)
全局安装后执行 composer 命令提示 “command not found”
这是因为安装脚本默认把 composer.phar 放到了当前目录,没有设为系统级命令。它不是“没装上”,而是没加到 $PATH。
- 手动移动并重命名:
sudo mv composer.phar /usr/local/bin/composer(macOS/Linux)或move composer.phar %PROGRAMFILES%\Composer\composer.phar+ 添加该路径到系统环境变量(Windows) - 验证是否生效:
composer --version,若报错Could not open input file: composer.phar,说明路径没生效,重新检查$PATH或环境变量 - 不要用
php composer.phar长期代替composer,否则所有项目中调用都会多敲php,且 IDE/CI 工具可能识别失败
真正难排查的其实是 PHP CLI 配置与 Web 服务器使用的配置不一致——比如 php -m 显示有 openssl,但 php -i | grep 'Loaded Configuration File' 发现 CLI 加载的是另一个 php.ini。这种差异比网络问题更隐蔽,也更常导致安装中途静默失败。










