php使用composer常见问题及解决办法

admin3年前PHP教程52

composer是PHP中非常优秀的一个包管理工具,可以帮助我们来管理项目所需要依赖的所有包以及插件,也可以用来从packagist中创建一个项目。但是在初次使用中会出现各种各样的问题,现我将别的开发人员问过我的的关于composer的错误以及解决办法整理如下,希望能够帮大家跳坑:

错误问题一

Failed to decode response: zlib_decode(): data error
Retrying with degraded mode. check ……

导致这个错误的原因一般是网络的原因。因为上边执行的语句:

composer global require "fxp/composer-asset-plugin:^1.2.0"

在请求将yii2的项目安装插件安装到全局是出现这个问题。composer页提供了一个degraded模式的解决方法。如果我们开启了ipv6则需要将IPv6取消勾选。

如果使用该方法也无法处理那么就需要使用composer中文全量镜像或其他VPN的方式。

错误问题二

The “getcomposer.org/versions“file could not be downloaded:
php_network_getaddresses: getaddrinfo failed: 不知道这样的主机。
failed to open stream: php_network_getaddresses: getaddrinfo failed: 不知道这样的主机

这也是比较经典的一个问题这时因为在安装composer时其实还是需要从composer的官方网站下载composer.phar所以如果你的网站无法访问国外网站那么久会有问题。当然你可以直接下载composer.phar来使用,前提是要将PHP加入到环境变量中。

错误问题三

The openssl extension is required for SSL_TLS protection but is not available,If you can not enable the openssl extension you can disable this error. at you own risk, by setting the ‘disable-tls" option to true

这个算是一个比较经典的错误了。错误很明显是因为没有开启php_openssl打开方法为
找到你的php.ini文件找到

;extension=php_openssl.dll

把前边的分号(;)删除。当然如果这样做了还没有生效有可能是你的电脑中安装了多个php那么就需要在环境变量中查看下写在path中的PHP路径在那儿。找到路径中的php.ini按照上述过程修改。

错误问题四

-yiisoft/yii2 2.0.10 requires ext-mbstring * -> the requested PHP extension mbstring is missed

这个错误也是经常会犯的错误。是因为composer安装yii2时需要mbstring这个处理多字节字符串的扩展。开启方法和上一个问题一样,删除php_mbstring.dll前的分号

;extension=php_mbstring.dll

当然如果没有生效还是要去看看系统环境变量中的PHP路径是哪个。

错误问题五

Content-Length mismatch

导致这个问题的主要原因还是网络的原因让请求的数据不完整导致的。正确的做法是使用中文镜像库或者vpn。

中文镜像使用办法

使用中文镜像基本能解决以上所有问题(除composer的安装),也是非常非常需要的。

使用办法

在composer安装好后打开命令行工具执行以下的语句:

composer config -g repo.packagist composer packagist.phpcomposer

这样会去中文全量镜像packagist.phpcomposer中去请求包以及插件的下载安装。

以上就是php使用composer常见问题及解决办法的详细内容,更多关于php composer的资料请关注其它相关文章!

免责声明:本文内容来自用户上传并发布,站点仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。请核实广告和内容真实性,谨慎使用。

相关文章

浅谈PHP设计模式之门面模式Facade

目录目的UML代码测试目的Facade通过嵌入多个(当然,有时只有一个)接口来解耦访客与子系统,同时也为了降低复杂度。Facade 不会禁止你访问子系统你可以(应该)为一个子系统提供多个 Facade...

关于PHP方法参数的那一些事

前言在所有的编程语言中,方法或者函数,都可以传递一些参数进来进行业务逻辑的处理或者计算。这没什么可说的,但是在PHP中,方法的参数还有许多非常有意思的能力,下面我们就来说说这方面的内容。引用参数涉及到...

租用香港多ip服务器的一般步骤

香港多IP服务器是指在同一台服务器上使用多个IP地址。这可以提高服务器的灵活性和可靠性,使其更适合某些特定的应用程序和业务需求。例如,在进行SEO优化、加速网络访问、避免IP封锁等方面,香港多IP服务...

微信小程序结合ThinkPHP5授权登陆后获取手机号

1.在我们授权登陆后会获取到用户的 sessionKey 这个是获取手机号不可分割的一部分上代码wxml:<button open-type="getPhoneNumber"...

PHP函数__autoload失效原因及解决方法

1、利用sprintf()函数来格式化,语法“sprintf("%.小数位数f",$num)”。?123456<?phpheader("Co...

php数据流中第K大元素的计算方法及代码分析

设计一个找到数据流中第K大元素的类(class)。注意是排序后的第K大元素,不是第K个不同的元素。计算方法1、直接使用最小堆,堆的大小为 k,这样保证空间占用最小,最小堆的根节点是就是最小值,也是我们...