首页 > 技术分享 > 原生PHP
收藏

Composer使用方法及需注意的几个问题

11/01 17:22
大潇博客 原创文章,转载请标明出处

功能验证:

可以通过“composer -v”和“php -v”验证是否可用

composer_v.png

php_v.png


安装包:

从无到有安装某某包时,使用“composer require...”

有“composer.json”时,比如下载了某些sdk,使用“composer install”进行安装,也可以在这条命令后面,使用“&&”拼接其它命令一起执行,如“composer install && php src/Sample.php”,表示安装后执行“src/Sample.php”文件


通过“composer.json”描述文件安装时,“composer.json”中可能包含某些要求和依赖,如:

composer依赖.png

若所需依赖不存在,或与规定依赖不匹配,composer安装类库会报此类错误:... ... it does not match the constraint

遇到这种情况可以先安装依赖包,composer提示缺失哪些依赖, 根据提示操作即可。

也有说法可忽略依赖冲突,暂未尝试成功,先记在这里,也算一种可尝试的方法。


若composer版本过低,也会出现一些问题,可使用“composer self-update”升级composer

composer升级.png


常见问题:

1、错题提示:Fatal error: Uncaught GuzzleHttp\Exception\RequestException: cURL error 60: SSL certificate problem: unable to get local issuer certificate (see https://curl.haxx.se/libcurl/c/libcurl-errors.html) for..

composer错误.png这是因为本地的CURL的SSL证书太旧了,导致不识别此证书


解决方法:

打开链接

https://link.segmentfault.com/?enc=7PJZ2d9Zq9eIZwNptMmj7Q==.bI6F/4GDPhKPVDRQfNPEzBwSN2LwyAaWdu22wouiUFrHV5QZ4ESZDt/Xtrb4lx4F

下载一个最新的证书,默认名称一般是“cacert.pem”,保存到一个任意目录。

然后把“cacert.pem”放到php的bin目录下,之后编辑“php.ini”,用记事本或者notepad++打开“php.ini”文件,去掉“curl.cainfo”前面的注释“;”,然后在后面写上“cacert.pem”证书的完整路径及文件名。


注意:php根目录可能没有bin目录,这里只是举例,任意文件夹都可以,我在window下使用phpstudy集成环境,打开php目录后自行创建了bin目录,然后放入“cacert.pem”文件,如图:

cacert文件路径.png


cacert.pem在“php.ini”中的引用路径,从根目录开始,如:

curl.cainfo = "C://phpstudy_pro/Extensions/php/php7.3.4nts/bin/cacert.pem",


配置文件参考下图:

php引用cacert.png

配置完成后,重启服务就可以了



composer调错方法:

composer错误示例.png

这类问题算比较小白,如果遇到,这是因为安装命令中带有“&& php ...”,安装后要求执行php程序,而程序报错了,Fatal error是php中的致命错误,这里只需根据错误提示,正常排错即可


打赏

阅读排行

大家都在搜

博客维护不易,感谢你的肯定
扫码打赏,建议金额1-10元
  • 15601023311