服务器环境下的 composer 为 1.5,为确保更新代码没有问题,最好升级到最新版本。

Composer 升级时是无法利用镜像加速下载的,而必须连接到 Composer 国外官网的服务器上下载升级文件,某些时候就会导致升级的速度非常慢甚至失败。 - Packagist / Composer 中国全量镜像

在使用 composer selfupdate/self-update 获取最新版本时,报错了:Failed to decode response: zlib_decode(): data error

找个一个Failed to decode response: zlib_decode(): data error - CSDN,里面有个指令 composer diagnose 进行诊断检测的。根据诊断提示做了一些修补工作之后,再次更新 composer 依然失败。

他提供的解决方案中除了步骤二因为是 Ubuntu 没有办法直接设置关闭 ipv6 以外,步骤一修改源地址为 https://repo.packagist.org 和步骤三 php 配置文件 php.ini 都做完了,但执行更新 composer 依然报错。放弃这个方案。

搞了半天没有结果,突然想到,我是为了升级 composer 来着的,最初安装 composer 就很简单,更新不了的话,重新下载最新版本的 composer.phar 文件再替换一下不就好了吗?

下载安装 composer

php -r "copy('https://install.phpcomposer.com/installer', 'composer-setup.php');"
php composer-setup.php
php -r "unlink('composer-setup.php');"
which composer
# /usr/bin/composer
mv /usr/bin/composer /usr/bin/composer.bak
mv composer.phar /usr/bin/composer
composer --version
# version 2.1.3