composer升级安装,如何解决zlib报错问题?
发布于 作者:苏南大叔 来源:程序如此灵动~
苏南大叔描述一下使用composer的时候,可能会遇到的一个zlib的报错问题。在平时的应用中,由于很多类库都是下载自带的,其实苏南大叔觉得,使用composer的机会,也不是很多。

本文中,苏南大叔描述的问题,出现在composer的自升级阶段。测试环境:mac,php@7.3,composer@1.10.5。
基本报错信息
在本文中,苏南大叔收到了composer的自升级提示信息,但是执行相关命令的时候,却可耻的失败了。执行的命令是:
composer self-update收到的zlib报错信息如下:
Failed to decode response: zlib_decode(): data error
Retrying with degraded mode, check https://getcomposer.org/doc/articles/troubleshooting.md#degraded-mode for more info
修改php.ini
解决方案是修改php.ini,这个方案是有些意外,对吧?
首先,需要知道您本机的php.ini的位置,这里苏南大叔就不赘述了,下面的链接中,有N多方案查找php.ini的位置,总有一款适合你。在这里,苏南大叔唯一要提示的就是:php-cli和php-fpm不是一个东西,存在着版本不一致的情况。
然后,苏南大叔就来修改这个找到php.ini了。没修改之前,相关内容是这样的:
zlib.output_compression = Off
;zlib.output_compression_level = -1
修改之后的php.ini,内容如下:
zlib.output_compression = On
;zlib.output_compression_level = 5再次执行相关命令,就可以顺利升级了。

加速升级(补充内容)
当然,这里有两个自定义的composer的中央仓库的地址,您可以备不时之需。可以在文件里面修改,也可以通过命令行全局修改。
在当前项目的配置文件composer.json里面,修改composer的中央仓库的地址的方法:
"repositories”: {
"packagist”: {
"type”: "composer”,
"url”: "https://packagist.phpcomposer.com”
}
}具体可以见下面这篇文章:
全局修改composer的中央仓库的方式如下:
composer config -g repo.packagist composer https://packagist.laravel-china.org或者
composer config -g repo.packagist composer https://mirrors.aliyun.com/composer/
相关链接
*《mac系统,如何安装composer》 https://newsn.net/say/composer-install-mac.html
*《win系统,如何安装composer》 https://newsn.net/say/composer-install-win.html
*《composer的基本使用及加速下载》 https://newsn.net/say/composer.html
*《如何升级composer,composer升级方案》https://newsn.net/say/composer-update.html
总结
php官方的pear,慢慢的就没落了。composer才是后起之秀,不但为php提供各种类库,还为hhvm提供各种类库。更多composer的使用技巧,请点击下面的这个苏南大叔的博客链接: