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

admin3年前PHP教程51

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网站常见安全漏洞,及相应防范措施总结

目前,基于PHP的网站开发已经成为目前网站开发的主流,本文笔者重点从PHP网站攻击与安全防范方面进行探究,旨在减少网站漏洞,希望对大家有所帮助!一、常见PHP网站安全漏洞对于PHP的漏洞,目前常见的漏...

浅谈swoole的作用与原理

目录PHP 中的 Node ?Swoole 到底是什么?如何让它运行?使用 Docker 运行 SwooleSwoole 可以做什么?基于 Swoole 实现 HTTP 服务HTTP Server 标...

PHP队列场景以及实现代码实例详解

为了降低单点压力,通常会根据业务情况进行分表分库,将表分布在不同的库中(库可能分布在不同的机器上),但是一个业务场景可能会同时处理两个表的操作。在这种场景下,事务的提交会变得相对复杂,因为多个节点(库...

显卡服务器的特点、优势和应用领域租用成都显卡服务器如何使用

难以想象的、不断增长的信息规模使系统能够应对材料的处理。显卡服务器的存在是为了解决一个严重的问题。所有资源密集型进程都可能归功于这些带有显卡的系统。许多公司使用这些系统,它们有助于3D建模、挖掘、渲染...

php中echo、print和print_r的区别点及用法总结

本教程操作环境:windows10系统、PHP7.1版,DELL G3电脑php中echo、print和print_r的区别是什么echo是PHP语句, print和print_r是函数,语句没有返回...

浅谈laravel中间件的创建思路

Laravel 中间件提供了一种机制在不修改逻辑代码的情况下,中断原本程序流程,通过中间件来处理一些事件,或者扩展一些功能。比如日志中间件可以方便的记录请求和响应日志,而不需要去更改逻辑代码。那么我们...