苏南大叔描述一下使用composer的时候,可能会遇到的一个zlib的报错问题。在平时的应用中,由于很多类库都是下载自带的,其实苏南大叔觉得,使用composer的机会,也不是很多。

苏南大叔:composer升级安装,如何解决zlib报错问题? - composer-hero
composer升级安装,如何解决zlib报错问题?(图5-1)

本文中,苏南大叔描述的问题,出现在composer的自升级阶段。测试环境:macphp@7.3composer@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

苏南大叔:composer升级安装,如何解决zlib报错问题? - composer-zlib-error
composer升级安装,如何解决zlib报错问题?(图5-2)

修改php.ini

解决方案是修改php.ini,这个方案是有些意外,对吧?
首先,需要知道您本机的php.ini的位置,这里苏南大叔就不赘述了,下面的链接中,有N多方案查找php.ini的位置,总有一款适合你。在这里,苏南大叔唯一要提示的就是:php-cliphp-fpm不是一个东西,存在着版本不一致的情况。

然后,苏南大叔就来修改这个找到php.ini了。没修改之前,相关内容是这样的:

zlib.output_compression = Off
;zlib.output_compression_level = -1

苏南大叔:composer升级安装,如何解决zlib报错问题? - php-ini-zlib-before
composer升级安装,如何解决zlib报错问题?(图5-3)

修改之后的php.ini,内容如下:

zlib.output_compression = On
;zlib.output_compression_level = 5

再次执行相关命令,就可以顺利升级了。

苏南大叔:composer升级安装,如何解决zlib报错问题? - composer-self-update-success
composer升级安装,如何解决zlib报错问题?(图5-4)

加速升级(补充内容)

当然,这里有两个自定义的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/

苏南大叔:composer升级安装,如何解决zlib报错问题? - composer-global-repo
composer升级安装,如何解决zlib报错问题?(图5-5)

相关链接

*《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-howto.html
*《如何升级composer,composer升级方案》https://newsn.net/say/composer-update-mac.html

总结

php官方的pear,慢慢的就没落了。composer才是后起之秀,不但为php提供各种类库,还为hhvm提供各种类库。更多composer的使用技巧,请点击下面的这个苏南大叔的博客链接:

如果本文对您有帮助,或者节约了您的时间,欢迎打赏瓶饮料,建立下友谊关系。
本博客不欢迎:各种镜像采集行为。请尊重原创文章内容,转载请保留作者链接。
本站采用创作共用版权协议, 要求署名、非商业用途和相同方式共享。
转载本站内容必须也遵循“署名-非商业用途-相同方式共享”的创作共用协议。
未经许可,规模化镜像抄袭本站内容的行为,将会根据有关法律法规进行维权。
程序如此灵动~》下所有原创文章,如被用于商业用途,请您按规定支付稿费。

 【加群】加入QQ群【175454274】和大家一起讨论这个问题

 【源码】本文代码片段及相关软件,请点此获取

 【绝密】秘籍文章入口,仅传授于有缘之人   composer

本站的忠实读者小伙伴,正在阅读下面这些文章: