美文网首页
composer常见问题之openSSL

composer常见问题之openSSL

作者: zh3wang | 来源:发表于2017-12-08 01:00 被阅读0次

    下载composer-setup.exe安装完成后在命令行输入:

    composer -v 

    出现如下则表示成功

    Composer version 1.5.5 2017-12-01 14:42:57

    执行更新操作时

    composer self -update

    抛出异常:

    [Composer\Exception\NoSslException] The openssl extension is required for SSL/TLS protection but is not available. If you can not enable the openssl ex tension, you can disable this error, at your own risk, by setting the 'disable-tls' option to true.

    这段异常日志的大致意思是,Composer采用SSL连接,需要外挂OpenSSL插件。

    要消除这个异常,有两种解决方式,一是放弃SSL连接、直接“裸奔”;二是启用OpenSSL。

    取消SSL连接的命令是composer config -g -- disable-tls true。然而并没有什么卵用,试过之后,又抛出了新的异常。

    剩下来的方案就是尝试启用OpenSSL。安装了PHP后,安装目录(类似C:\php-5.6.24)中包含两个文件,一个是php.ini-development,另一个是php.ini-production,选择将其中任意的一个文件重命名为php.ini,用作PHP的默认配置文件。通过修改配置文件来启用OpenSSL插件。

    编辑php.ini文件,首先,定位到:

    ; Directory in which the loadable extensions (modules) reside.

    ; http://php.net/extension-dir

    extension_dir = "./"

    ; On windows:

    extension_dir = "ext"

    删除 extension_dir = "./" 和 extension_dir = "ext" 前面的分号,取消注释这两行代码,配置PHP插件目录为 ./ext 

    然后,定位到:

    ...

    ;extension=php_mysqli.dll

    ;extension=php_oci8_12c.dll  ; Use with Oracle Database 12c Instant Client

    extension=php_openssl.dll

    ;extension=php_pdo_firebird.dll

    ;extension=php_pdo_mysql.dll

    ;extension=php_pdo_oci.dll

    ;extension=php_pdo_odbc.dll

    ...

    删除extension=php_openssl.dll前面的分号,取消注释,从而启用OpenSSL插件。

    注意:因为SSL连接需要认证,所以继续下面的步骤之前,需要准备好CA证书(建议把证书保存到C:\php-5.6.24\verify目录中),可以从https://curl.haxx.se/docs/caextract.html处下载。

    接下来,定位到

    ;openssl.cafile=

    和上面一样,删去分号,取消注释,设置CA证书为openssl.cafile= C:\php-5.6.24\verify\cacert.pem

    最后, 重新执行命令

    原文地址

    相关文章

      网友评论

          本文标题:composer常见问题之openSSL

          本文链接:https://www.haomeiwen.com/subject/uiesixtx.html