我的服务器环境是ubuntu16.04, 然后我编译安装了php7.2.4, 最后进行安装composer的时候, 出现了错误.
我执行的命令(按照composer官网的安装步骤第一步) :
php -r "copy('https://getcomposer.org/installer', 'composer-setup.php');"
执行完成之后, 出现如下报错信息 :
Warning: copy(): SSL operation failed with code 1. OpenSSL Error messages:
error:1416F086:SSL routines:tls_process_server_certificate:certificate verify failed in Command line code on line 1
Warning: copy(): Failed to enable crypto in Command line code on line 1
Warning: copy(https://getcomposer.org/installer): failed to open stream: operation failed in Command line code on line 1
面对对此问题我进行了如下尝试:
- 百度, google均未找到有效解决方案.
- 怀疑是php的ssl证书问题, 于是下载了curl官网提供的ca证书, 并修改php.ini中的openssl.cafile=..., 结果如初.
- 怀疑是ssl安装的不正确, 于是尝试编译安装openssl和curl, 然后再重新编译安装php, 没有解决.
- 怀疑自己编译ssl方法有误, 所以全程使用aptitude工具安装php所有依赖库, 包括curl和openssl, 再次编译安装php, 问题依旧存在.
- 检查php扩展安装情况, 执行
php -m
, 发现扩展安装都是完好的, openssl库已安装.
已经折腾了两天, 目前无法锁定问题是出在php这里, 还是openssl软件这里, 还是系统问题.
加
--no-check-certificate
参数